проблемой с: http://qpleple.com/divide-and-conquer/ Сравнения алгоритмовBig O анализ нотации с использованием рекурсией дереву
Вы менеджер на Facebook и три инженера из вашей команды придумал эти три алгоритма для обнаружения поддельной Facebook счетов в список n = 1 миллиарда учетных записей Facebook.
Rakesh решает проблемы, деля их на пять подзадач в два раза меньше, рекурсивное решение каждой подзадачи, а затем объединение решений в линейное время.
Крис решает проблемы размера n путем рекурсивного решения двух подзадач размера n-1 и последующего объединения решений в постоянное время.
Матус решает задачу размера п деления их на девять подзадач размера
n/3
, рекурсивно решением каждой подзадачи, а затем объединяя решения вO(n²)
времени
Таким образом, с помощью Master теоремы я выяснил, что:
- алгоритм Ракеша имеет время работы
O(nlog₂(5))
- алгоритма Матуса имеет запущенное время
O(n2log(n))
растягивая рекурсивное дерево и с помощью:
алгоритм Rasket имеет:
#levels = log₂(n) #of nodes at level k = 5k overhead per node at level k = n/2k
Но независимо от того, как сильно я стараюсь, я не могу получить суммированием сравняться O(nlog₂(5))
, и то же самое касается алгоритма Матуса.
Кроме того, есть ли способ решить время работы алгоритма Криса с помощью основной теоремы?
log_2 (5) = 2.32 – Marichyasana