Quicksort在实践中胜过Heapsort。 Mergesort是3个中唯一稳定的(在普通的香草实现中)。因此,它可以根据手头的情况(在内存中的就地或外部排序等)使用quicksort或mergesort。
那么是否存在堆数据结构确实用于排序的情况?无论我有多么“谷歌”或尝试提出应用程序,几乎总是选择合并/快速排序。我从来没有遇到过在我的职业生涯中实际使用堆排序的情况。出于好奇心,实际上(如果有的话)heapsort实际上是一个很好的用例?
答案 0 :(得分:5)
我的头脑中有一些好处(在我做更多研究之后会修改这个列表: