最近对于数据结构排序方面的最好、最坏、平均时间复杂度、辅助空间、是否稳定等等很难记住,所以强迫自己来做一个汇总,每天定时填空!
记忆方式
首先分为三类:1、插入;2、交换;3、选择;
还有两个小类分别是4、归并;5、基数。
1、插入又分直接和希尔,最好最坏一次二次,辅助空间均为1,一个稳定一个不
2、交换又分冒泡和快排,冒泡最好则为n,快排最好nlogn,最坏均为n平方,平均又有所不同,一个n2,一个nlogn,辅助1和nlogn,一个稳定一个不
3、直接选择和堆排,直接选择全为2,堆排全为nlogn,辅助空间1和n2
4、归并全是nlogn,辅助空间是个n,选择全部不稳定
5、基数排序,最好(m+n),最坏k*(m+n),空间辅存也为n+m,二者稳定要记住
检测一下
类别 | 排序方法 | 最好 | 最坏 | 平均 | 辅助空间 |
---|---|---|---|---|---|
1插入 | 直接插入 | ||||
希尔排序 | |||||
2交换 | 冒泡排序 | ||||
快速排序 | |||||
3选择 | 直接选择排序 | ||||
堆排序 | |||||
4 | 归并排序 | ||||
5 | 基数排序 |
表格容纳不了更多的格子了,补充一列是【稳定性】
对对答案
加油!!!