各种排序算法时间复杂度及空间复杂度
2016-08-07 19:48
288 查看
一、排序算法的时间复杂度及空间复杂度
冒泡:
平均O(N2),最坏O(N2) ,最好O(N) ,辅助内存O(1),稳定排序
最好情况是加了改进方法的最好:即冒泡的过程中检查是否发生了交换,如果没有发生交换,说明都排好序了,就break
插入:
平均O(N2) ,最坏O(N2) ,最好O(N) ,辅助内存O(1),稳定排序直接选择排序:
平均O(N2) ,最坏O(N2) ,最好O(N2),辅助内存O(1),不稳定排序快速排序:
平均O(NLogN) ,最坏O(N2) ,最好O(NLogN),辅助内存O(LogN),不稳定排序最坏的情况是每次选择了最大或者最小值作为比较值。最坏情况下辅助内存也为O(N)
归并排序:
平均O(NLogN) ,最坏O(NLogN) ,最好O(NLogN),辅助内存O(N),稳定排序稳定的保证取决于比较规则为:前一班的数<=后一半的数,则先归并前一半的数
堆排序:
平均O(NLogN) ,最坏O(NLogN) ,最好O(NLogN),辅助内存O(1),不稳定排序都用交换的情况下,快速排序辅存是O(LogN),而堆排序辅存是O(1)的原因是,快速排序是logN层递归,而堆排序是在本层进行交换。
稍后附各种排序算法的代码及思路解释
相关文章推荐
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度分析
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 【排序】各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各排序算法时间复杂度和空间复杂度对比总结
- 各种常用排序算法的时间复杂度和空间复杂度
- 各种排序时间空间复杂度稳定性分析
- 面试-排序算法时间复杂度与空间复杂度