目录
排序整理
排序方法 | 平均时间 | 最坏情况 | 辅助存储 |
---|---|---|---|
简单排序 | O(n^2) | O(n^2) | O(1) |
快速排序 | O(nlogn) | O(n^2) | O(logn) |
堆排序 | O(n^logn | O(nlogn) | O(1) |
归并排序 | O(nlogn) | O(nlogn) | O(n) |
基数排序 | O(d(n+rd)) | O(d(n+rd)) | O(rd) |
* | O(n^2) | O(n^2) | O(1) |
* | O(n^2) | O(n^2) | O(1) |
* | O(n^2) | O(n^2) | O(1) |
其中基数排序的d是关键字数目。
(1)从平均时间性能而言,跨苏排序最佳其所需要时间最省,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。而后两者相比较的结果是,在n较大时,归并排序所需时间较堆排序省,但它所需要的辅助存储量最多。
(2)上表中的“简单排序”包括除希尔排序之外的所有插入排序,起泡排序和简单选择排序,其中以直接插入排序最为简单,当序列中的记录“基本有序”或n值较小时,