ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【数据结构】排序算法比较及一些总结

2022-06-30 20:00:07  阅读:165  来源: 互联网

标签:归并 排序 log 直接插入 算法 基数排序 2n 数据结构


  1. 交换类排序趟数与初始状态有关;
  2. 选择、直接插入、折半插入、基数排序与初始状态无关;
  3. 序列初始状态基本有序:选用直接插入、冒泡排序;
  4. \(n\) 较小(\(n≤50\)):用直接插入、简单选择排序;
  5. \(n\) 较大,用 \(O(n\log_2n)\):快速排序(平均时间最短)、堆排序(辅助空间少于快排的\(O(\log_2n)\))、归并排序;
  6. 稳定 + \(O(n\log_2n)\):归并排序;
  7. 基于比较的排序方法中,当文件的 \(n\) 个关键字随机分布时,任何借助于“比较”的排序,至少需要 \(O(n\log_2n)\) 的时间;
  8. \(n\) 很大 + 关键字位数少且可分辨:基数排序;
  9. 记录本身的信息量较大时,可用链表作为存储结构;
  10. 堆 用于排序,在查找时无需,效率较低;
  11. 折半查找只能顺序存储,不能用链式存储;
  12. 基数排序 不需要进行记录关键字间的比较;
  13. 归并排序的 每趟归并 时间为 \(O(n)\),整过排序过程为 \(O(n\log_2n)\),空间复杂度为 \(O(n)\);
  14. 堆排序每趟 \(O(\log_2n)\),整个排序过程为 \(O(n\log_2n)\),建堆时间 \(O(n)\),调整时间 \(O(h)\)(\(h\) 为堆的高度)。

标签:归并,排序,log,直接插入,算法,基数排序,2n,数据结构
来源: https://www.cnblogs.com/0202zc/p/16428310.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有