首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >树排序有什么用呢?

树排序有什么用呢?
EN

Stack Overflow用户
提问于 2016-07-14 04:10:48
回答 1查看 525关注 0票数 0

树排序是常用的教科书排序算法之一,该算法将待排序列表中的所有元素插入到一个二叉树中,然后遍历该树以获得元素的顺序。

有没有哪种情况下,树排序比其他也需要O(n log n)时间的排序算法更好,比如快速排序,合并排序和堆排序?

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

EN

回答 1

Stack Overflow用户

发布于 2016-07-15 02:01:04

我能理解的一种情况是在外部排序的情况下

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

考虑这样一种场景,您不能一次将它们全部存储在内存中,就像在ram的情况下,我们不能一次将所有元素都放入ram中。

在这种情况下,堆排序或树排序很有用,我们从每个n个列表中保留一个元素,因此堆的大小为K,我们可以通过从堆中取出最小或最大元素来对其进行排序

有关更多信息,-Check外部排序

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38360871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档