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

作者/分享人:jack
向 Ta 提问
北京林业大学硕士研究生,工作三年多,现在某工业互联网公司从事算法研究,参与多个项目和公司产品研发,乐于知识分享,创办机器学习,深度学习相关的系统入门学习之微信公众号《算法channel》。

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

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

实录提要:

  • 在日常的开发中排序操作的应用都有哪些?
  • 无序序列到有序的本质是什么?
  • 排序操作主要考虑哪些指标?
  • 什么样的场景需要稳定性?什么样不需要?
  • 递归调用的开销是怎么算的,递归的总数吗?需不需要考虑递归的栈消耗?
  • 为什么排序操作要区分关键码是值类型还是引用类型?
  • Java 中 Sort 接口结合了哪几种排序算法?
  • 选用插入排序还是快速排序时数字7是怎么选取的?基于经验吗?有没有数学依据?
  • 插入排序,快速排序,归并排序,它们各自的算法思想是什么?
  • 什么是稳定排序算法,稳定是基于什么来说的?
  • 为什么快速排序是通常被认为在同数量级的排序方法中平均性能最好的?
已有225人预订
预订达标
文章出炉
交流日期
     
17.11.08
17.11.21
17.11.28 20:30
查看文章评论/提问
佳殷
哈哈哈 厉害了 继续努力啊~~
jack: 谢谢鼓励!我会继续努力。。。
 小霞
不错 不错!
 小霞: 期待分享哈!👏👏👏
jack: 谢谢
TTTTTUSKIIIIIII
看算法第四版辅以本文效果会更好
你可能还喜欢
聊聊 CSS 中的布局模式
大漠_w3cplus.com
Spring Boot 2.0 的快速入门(图文教程)
泥瓦匠 @ bysocket.com
浅谈如何开一场 Chat
白宦成
如何在网上下载自己需要的资源
曹某某
GitChat 被恶意攻击引发的技术性思考:拒绝服务攻击
肖志华
利用开源代码和读相关论文来提高写代码能力
李峰
微信扫描登录