Как лучше всего описать алгоритмы TreeSort и HeapSort?
Я прочитал вики-страницу и другие ответы на Stackru. Надеясь, кто-то может объяснить, что делают эти два алгоритма.
Спасибо
1 ответ
Решение
Treesort использует обход по порядку, выполняемый через двоичное дерево поиска (BST). Строительство BST из n
предметы берут O(n * depth of tree) = O(n * log n)
время.
Heapsort работает по логике, согласно которой самый большой элемент хранится в корне кучи. Строим кучу n
предметы берут O(n * each_heapify_TimeComplexity) = O(n * log n)
время.
Для винтовой древовидной структуры Treesort TC будет O(n^2)
, Хотя Heapsort отличается в этом отношении, так как он сохраняет глубину до минимально возможного значения, формируя себя как полное двоичное дерево.