一步步学习数据结构跟算法之常用排序效率分析及java实现

一步步学习数据结构和算法之常用排序效率分析及java实现

常用排序算法专题文章列表

一步步学习数据结构和算法之直接插入排序效率分析及java实现
一步步学习数据结构和算法之折半插入排序效率分析及java实现
一步步学习数据结构和算法之冒泡排序效率分析及java实现
一步步学习数据结构和算法之希尔排序效率分析及java实现
一步步学习数据结构和算法之归并排序效率分析及java实现
一步步学习数据结构和算法之堆排序效率分析及java实现
一步步学习数据结构和算法之选择排序效率分析及java实现
一步步学习数据结构和算法之快速排序效率分析及java实现
常用排序算法可以按照很多种方式进行分类,比如按照内部排序算法、外部排序算法,按照基础算法、改进算法。
我们在进行排序算法的效率分析时主要考虑该排序算法在最好与最坏情况下的时间复杂度、空间占用率、稳定性。当然我们也可以通过这些因素来选择合适的算法。

常用排序算法性能比较

一步步学习数据结构跟算法之常用排序效率分析及java实现

常用排序算法总结

如果序列已经基本有序时采用冒泡排序和直接插入排序效率会很高
快于快速排序进行相应优化时,其效率应该是所有排序算法中最优的
如果考虑效率和空间占用情况,那么堆排序是最好的选择,因为其实内部排序算法,只占用了一个临时元素
归并排序是唯一稳定的改进算法,但是归并排序需要占用O(n)的存储空间