бінарний пошук у відсортованих масивах або збалансованих бінарних деревах
операції у цих деревах та біноміальних купах.
Взагалі притаманний поділу проблеми на 2.
До речі, найшвидша оцінка алгоритму сортування, що базується на порівнянні.
FFT обрахунок дискретного перетворення Фур'є, що використовується в обробці сигналів (розклад за амплітудами, частотами)
O(n)
повний обхід структури,
пошук у невідсортованому масиві або списку,
пошук у не сбалансованому дереві.
Сортування без порівнянь, наприклад Counting search
O(n^2)
повний обхід усіх пар елементів,
деякі алгоритми сортування (побудовані на цьому принипі) Bubble Sort і тд.
Верхня межа для більш швидких алгортмів Quick Sort, Shell Sort
O(n^3)
обхід усіх трійок елементів
O(c^n), where c = Const > 1
розв'язок задачі мандрівника з використанням динамічного програмування
O(n!) (sometimes n^n)
нумерація усіх можливих перетинів множини
на попередньому принципі базується нижня оцінка для таких речей як Random Sort, Monkey Sort, BogoSort.
розв'язок задачі мандрівника методом грубої сили
Деякі цікаві оцінки
O(log(log(n)))
Interpolation search пошук у відсортованих масивах з рівномірно розподіленими даними. Досить простий алгоритм, окрім формули розрахунку. Алгоритм нагадує двійковий пошук.
O(n^(0.5))
Jump search пошук у відсортованих масивах але замість кроку в 1 елемент, використовується крок в n^(0.5) елементів.
в цілому це велика кількість логарифмів, у використанні Union Find, для покращення елемент у дереві піднімаєься на рівень вище, у результаті теоретично можна отримати корінь і n дітей. Тобто O(log* n) ~ O(1)
Q02.11. Приклади алгоритмів з різними класами складності (big-O)
Q02.11. Examples of classes of algorithms (Big-O notation)