gpt4 book ai didi

c++ - C++ 库中不使用堆排序

转载 作者:行者123 更新时间:2023-11-27 22:43:04 25 4
gpt4 key购买 nike

因为堆排序在所有情况下的时间复杂度都是 O(nlogn),即最好情况、平均情况和最坏情况。而快速排序在最坏情况下的时间复杂度为 O(n2)。

那么尽管在最坏的情况下复杂度较低,但为什么堆排序没有在 C++ 库中实现而不是快速排序。

最佳答案

与快速排序相比,堆排序。当然,普通的快速排序也很慢,但可以通过使用插入排序和一些回退来非常快,以应对极少数情况下的部分范围对于快速排序而言是次优的。实际上,std::sort() 是一种混合算法。有关详细信息,请参阅我的 Quicker Sorting演示文稿。

关于c++ - C++ 库中不使用堆排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46513598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com