В моем классе "Алгоритмы и структуры данных" был введен первый divide-and-conquer algorithm
а именно merge sort
.
При реализации алгоритма для задания мне пришло несколько вопросов.
-
Существует ли какой-либо алгоритм, который реализуется с использованием парадигмы разделения и покорения, имеет временную сложность O (nlogn)?
-
Разве что рекурсивная часть в подходе имеет потенциал для уплотнения алгоритма, который работает как O (n ^ 2) до O (nlogn)?
-
Что делает такой алгоритм в O (nlogn) в первую очередь.
Для (3) я предполагаю, что это имеет какое-то отношение к деревьям рекурсии и возможному числу рекурсий. Может ли кто-нибудь, возможно, показать с помощью простого алгоритма разделения и покорения, который работает в O (nlogn), как вычисляется сложность?
Привет, Андрей