树排序是通常的教科书排序算法之一,其中要排序的列表的所有元素都插入到二叉搜索树中,然后遍历树以按顺序获取元素。
是否存在树类排序优于其他排序算法的情况,这些算法也需要O(n log n)时间,如quicksort,mergesort和heapsort?
它似乎没有用,因为它总是需要额外的空间来存储树,而其他那些可以就地完成。为所有这些树节点分配内存可能也会让它变慢。
答案 0 :(得分:0)
我可以弄清楚的一种情况是外部排序
例如在外部排序的情况下如果你有列表,如果k列表为n 元素总KN元素。
考虑一个场景,你不能同时将所有这些内容存储在内存中,就像ram一样,我们不能在ram中同时放置每个元素
在该场景堆中,排序或树排序很有用 我们从每个n列表中保留一个元素所以我们的堆将是大小为K. 我们可以通过从堆中取出最小或最大元素来对其进行排序