首页 > 编程语言 > 详细

排序算法总结

时间:2020-11-12 21:28:54      阅读:41      评论:0      收藏:0      [点我收藏+]

根据排序过程中的主要操作,可以将内排序分为以下几种:

  插入排序:直接插入排序,希尔排序(改进的直接插入排序)

  交换排序:冒泡排序,快速排序(改进的冒泡排序)

  选择排序:简单选择排序,堆排序(改进的简单选择排序)

  归并排序:归并排序

根据排序算法的简单性,可以将内排序分为以下两种:

  简单算法:冒泡排序,简单选择排序,直接插入排序

  改进算法:希尔排序,堆排序,归并排序,快速排序

根据排序算法的稳定性,可以将内排序分为以下两种:

  稳定算法:冒泡排序,简单选择排序,直接插入排序,归并排序

  不稳定算法:希尔排序,堆排序,快速排序

  注:若;两个记录的关键字的值相等,经过排序之后,其先后位置仍然保持不变,则称该排序算法是稳定的,否者,是不稳定的。

根据排序算法的时间复杂度,可以将内排序分为以下几种:

  O(n2):冒泡排序,简单选择排序,直接插入排序,希尔排序,快速排序

  O(nlogn):堆排序,归并排序

根据排序算法的空间复杂度,可以将内排序分为以下几种:

  O(1):冒泡排序,简单选择排序,直接插入排序,希尔排序,堆排序

  O(n):归并排序

  O(logn)~O(n):快速排序

综合考虑各项指标 https://blog.csdn.net/u010189459/article/details/27702027 ,经过优化的快速排序性能最佳!

 

 

相关链接:

 

冒泡排序 技术分享图片https://www.cnblogs.com/yongjin-hou/p/13858510.html

 

简单选择排序 技术分享图片https://www.cnblogs.com/yongjin-hou/p/13859148.html
直接插入排序 技术分享图片https://www.cnblogs.com/yongjin-hou/p/13861458.html
希尔排序 技术分享图片https://www.cnblogs.com/yongjin-hou/p/13866344.html

 

堆排序 https://www.cnblogs.com/yongjin-hou/p/13873770.html

 

归并排序 https://www.cnblogs.com/yongjin-hou/p/13921147.html

快速排序 https://www.cnblogs.com/yongjin-hou/p/13950379.html

 

 

 

参考书籍:程杰 著,《大话数据结构》,清华大学出版社。

 

排序算法总结

原文:https://www.cnblogs.com/yongjin-hou/p/13956121.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!