Please enable JavaScript.
Coggle requires JavaScript to display documents.
Алгоритмы - Coggle Diagram
Алгоритмы
Асимптотика
Примеры (по возрастанию)
-
O(log n). Возникает, если на каждом шаге кратно уменьшаем объем обрабатываемых данных. (н-р, бинарный поиск, сортировка слиянием)
O(n^2). Возникает при сопоставлении каждого с каждым, часто циклы с двойной вложенностью
-
-
O(n!). (н-р, задача коммивояжёра)
Обычно оценивается для среднего случая, но может также для лучшего и худшего
-
Отбрасываются константы (O(2n) == O(n)
) и несущественная часть (O(n^2 + n) == O(n^2)
)
todo: пример с двойным циклом j = i
-
Сжатие по Хаффману
-
-
Бинарное дерево Хаффмана
-
-
-
Символы в листьях, узлы - пустые
-
-
Сортировка
Нетривиальная
«Быстрая»
Основана на функции Partition, группирующей элементы на меньшие и большие, чем pivot
-
Рекурсивный вызов на группах, разделенных pivot
-
Шелла
Обобщение метода вставки
Если k = 1, это обычный метод вставки
-
-
-
-
Пирамидальная
Концептуально, вставка всех в пирамиду и последовательное извлечение
-
Балансировка
-
-
При извлечении вершины, последний элемент встает на ее место и "спускается" по наименьшему
-
-
-
Обход дерева
В глубину
-
Итеративный обход
-
Можно обойтись без стека, используя parent
ссылки
-
-
-
Эвристика: правило, выполняющееся часто, но не всегда
-