24功能之各种排序的时间复杂度分析

24功能之各种排序时间复杂度分析

1 稳定的排序
1)冒泡
在这里插入图片描述

2)插入
在这里插入图片描述

3)归并
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2 不稳定的排序
1)选择排序
在这里插入图片描述

2)希尔排序
在这里插入图片描述

3)快速排序
参考快排分析

4)堆排序
参考添加链接描述

3 最后给出各种排序O(N)的总结表与排序的使用场合
1)冒泡,选择,插入,优先选择插入。因为冒泡和选择的O(N)为N^2,无法做到插入的最好情况,并且插入是稳定的排序。
2)数据有序的情况下,使用插入与希尔排序是非常高效的;
3)文件归并的时候,选择归并排序,当然使用堆排序也问题不大,因为有时很难去比较他们具体的效率,不稳定性嘛。
4)快排是高效的排序,当每次取的哨兵刚好平分数组,效率是最好的,正常情况下使用快排是不错的选择。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44517656/article/details/108032711