Динамічна задачаДинамічна задача (англ. dynamic problem) в теорії обчислювальної складності належить до задач, які висвітлюються в термінах зміни вхідних даних. У найбільш загальному вигляді проблема в цій категорії зазвичай викладається наступним чином:
Проблеми цього класу мають наступні заходи складності:
Загальний набір розрахунків для динамічної задачі називається динамічним алгоритмом. Багато алгоритмічних задач, що висуваються в термінах фіксованих вхідних даних (так звані статичні проблеми в цьому контексті і вирішуються статичними алгоритмами), мають значущі динамічні версії. Спеціальні випадкиІнкрементні алгоритми або онлайн алгоритми — це алгоритми, в яких допускаються лише додавання елементів, можливо, починаючи з порожніх/тривіальних вхідних даних. Декрементальні алгоритми є алгоритмами, в яких допускаються лише видалення елементів, починаючи з ініціалізації повної структури даних. Якщо допускаються і видалення і додавання, алгоритм іноді називають повністю динамічним. ПрикладиМаксимальний елемент
Задача може бути вирішена за час O(N).
Відоме рішення для цієї задачі є використання самозбалансованого бінарного дерева пошуку. Дерево займає O(N) пам'яті, спочатку може бути побудовано за час O (N log N) і забезпечує операції вставки, видалення та запиту з часом виконання O (log N).
ГрафиВикористовуючи граф, зверніть увагу на такі параметри, як зв'язність, максимальний ступінь, найкоротші шляхи і т. Д., Коли дозволяється вставляти та видаляти її краї.[1] Див. такожЛітература
|
Portal di Ensiklopedia Dunia