最常用的 8 个排序算法:从原理到改进,再到代码兑现透彻解析

作者/分享人:zhen.guo
向 Ta 提问
工作4年,某知名互联网公司算法工程师。乐于分享,公众号《Python与机器学习算法频道》已推200篇原创文章。

越到最后,你越会明白算法和数据结构很 cool,很 essential。这些都是内功,和用什么语言、技术或框架无关。本场 Chat 的主要内容包括:

  • 8 个主要排序算法的思想和原理图解,代码兑现
  • 从冒泡排序到快速排序做的那些优化
  • 从直接选择排序到堆排序做的那些改进
  • 从直接插入排序到希尔排序做的那些改进
  • 归并排序算法的过程图解
  • 不基于比较的基数排序原理图解

实录提要:

  • 在日常的开发中排序操作的应用都有哪些?
  • 无序序列到有序的本质是什么?
  • 排序操作主要考虑哪些指标?
  • 什么样的场景需要稳定性?什么样不需要?
  • 递归调用的开销是怎么算的,递归的总数吗?需不需要考虑递归的栈消耗?
  • 为什么排序操作要区分关键码是值类型还是引用类型?
  • Java 中 Sort 接口结合了哪几种排序算法?
  • 选用插入排序还是快速排序时数字7是怎么选取的?基于经验吗?有没有数学依据?
  • 插入排序,快速排序,归并排序,它们各自的算法思想是什么?
  • 什么是稳定排序算法,稳定是基于什么来说的?
  • 为什么快速排序是通常被认为在同数量级的排序方法中平均性能最好的?
已有955人预订
预订达标
文章出炉
交流日期
     
17.11.08
17.11.21
17.11.28 20:30
查看文章评论/提问
佳殷
哈哈哈 厉害了 继续努力啊~~
zhen.guo: 谢谢鼓励!我会继续努力。。。
 小霞
不错 不错!
 小霞: 期待分享哈!👏👏👏
zhen.guo: 谢谢
TTTTTUSKIIIIIII
看算法第四版辅以本文效果会更好
zhen.guo: 嗯,谢谢,欢迎留言交流。
。。
选择排序是不稳定的算法。。。
zhen.guo: 选择排序属于稳定排序吧,你是怎么理解呢? 欢迎交流
晴天
直接插入排序,第二个while条件是有问题的。
你可能还喜欢
如何成为一名合格的 C/C++ 开发者?
范蠡
从新一期技术雷达看技术领域最新趋势
徐昊
微服务中的短信服务如何设计?
猿天地
亿级 QQ 会员活动运营系统的设计之道
廖声茂
详解 Java 常用的四种锁机制优缺点
安爷
数据科学 Kaggle 比赛项目实战:Titanic
刘明
微信扫描登录