什么是树类有用?

时间:2016-07-13 20:10:48

标签: algorithm sorting tree binary-search-tree

树排序是通常的教科书排序算法之一,其中要排序的列表的所有元素都插入到二叉搜索树中,然后遍历树以按顺序获取元素。

是否存在树类排序优于其他排序算法的情况,这些算法也需要O(n log n)时间,如quicksort,mergesort和heapsort?

它似乎没有用,因为它总是需要额外的空间来存储树,而其他那些可以就地完成。为所有这些树节点分配内存可能也会让它变慢。

1 个答案:

答案 0 :(得分:0)

我可以弄清楚的一种情况是外部排序

例如在外部排序的情况下如果你有列表,如果k列表为n    元素总KN元素。

考虑一个场景,你不能同时将所有这些内容存储在内存中,就像ram一样,我们不能在ram中同时放置每个元素

在该场景堆中,排序或树排序很有用 我们从每个n列表中保留一个元素所以我们的堆将是大小为K. 我们可以通过从堆中取出最小或最大元素来对其进行排序

更多信息-Check External Sort