Как лучше всего описать алгоритмы 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 отличается в этом отношении, так как он сохраняет глубину до минимально возможного значения, формируя себя как полное двоичное дерево.

Другие вопросы по тегам