快速排序最坏情况O(n^2),那什么排序方法最坏情况仍然是O(nlgn)?

iuiwer 2013-07-05 04:09:09
如题。在最坏情况下,快速排序可能退化成冒泡排序。这样一来实际当中其实用快排就很少了对么,一般都用归并和堆排?
...全文
629 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
DeDeWo 2013-07-06
  • 打赏
  • 举报
回复
三值取中法可以避免退化,实际上 sort 的实现集成了 快排,堆排,插入排序。
FancyMouse 2013-07-06
  • 打赏
  • 举报
回复
会退化说明快排没写好而已。pivot选得好快排一样可以最坏O(nlogn)。
march_on 2013-07-05
  • 打赏
  • 举报
回复
有序应该是快排最坏时的一种情形,为了避免最坏情况,一般都要随机选取一个元素作为主元,以避免最坏情况的发生,一般的实现应该是这样的
绿色夹克衫 2013-07-05
  • 打赏
  • 举报
回复
实际用快排的非常多,而用堆排的很少。

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧