前言:这是我考研时根据率辉老师的《高分笔记》总结的。
名称 | 空间复杂度 | 最好情况下时间复杂度 | 最差情况下时间复杂度 | 稳定性 |
---|---|---|---|---|
直接插入排序 | O(1) | 已经有序,双层循环变为单层,O(n) | O(n2 ) | 稳定 |
希尔排序 | O(1) | 无 | O(n2) | 不稳定 |
冒泡排序 | O(n) | 已经有序,O(n) | O(n2) | 稳定 |
快速排序 | O(log2n) | 越无序效率越高,O(log2n) | O(n2) | 不稳定 |
简单选择排序 | O(1) | O(n2) | O(n2) | 不稳定 |
堆排序 | O(1) | O(log2n) | O(log2n) | 不稳定 |
二路归并排序 | O(n) | O(nlog2n) | O(nlog2n) | 稳定 |
基数排序 | O(rd) | O(d(n+rd)) | O(d(n+rd)) | 稳定 |
备注:
插入类排序:直接插入排序,希尔排序。
交换类排序:冒泡排序,快速排序。
选择类排序:简单选择排序,堆排序。
记忆方法
1.时间复杂度记忆方法
平均情况下,“快些归队”的时间复杂度为O(nlog2n),其他都为O(n2)。
注: 快:快速排序;些:希尔排序;归:归并排序;队:堆排序;
2.稳定性总结
“情绪不稳定,快些选一堆好友来来聊天吧!”
注: 快:快速排序;些:希尔排序;选:简单选择;堆:堆排序;解决哈希冲突的四种方法
https://www.cnblogs.com/chenchen127/p/11881299.html