首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

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

2013-07-09 
快速排序最坏情况O(n^2),那什么排序方法最坏情况仍然是O(nlgn)?如题。在最坏情况下,快速排序可能退化成冒泡

快速排序最坏情况O(n^2),那什么排序方法最坏情况仍然是O(nlgn)?
如题。在最坏情况下,快速排序可能退化成冒泡排序。这样一来实际当中其实用快排就很少了对么,一般都用归并和堆排?

[解决办法]
实际用快排的非常多,而用堆排的很少。
[解决办法]
有序应该是快排最坏时的一种情形,为了避免最坏情况,一般都要随机选取一个元素作为主元,以避免最坏情况的发生,一般的实现应该是这样的
[解决办法]
会退化说明快排没写好而已。pivot选得好快排一样可以最坏O(nlogn)。
[解决办法]
三值取中法可以避免退化,实际上 sort 的实现集成了 快排,堆排,插入排序。

热点排行