排序简析
文章平均质量分 90
区别于大多数人追求排序算法关于时间复杂度、空间复杂度的对比,此专栏想要回归排序的本质,谈谈常见排序算法的思路,以及个人对于排序算法的理解,希望通过简单的例子说明排序的过程,理解之后你会发现,有些排序的实现真的挺有意思
AlbertS
一个手残党怀着对游戏的好奇心踏上了开发之路,旅途中磕磕绊绊踩了不少坑,触了不少雷,深知好记性不如烂笔头的道理,于是记录下学习路上的点点滴滴,努力在这个浮躁的年代做一个专注的人,携码起舞,与君共勉。
Coding是件有趣的事情,快乐的看待每一天,我真的非常幸福~
展开
-
排序算法系列之(七)——分分合合的归并排序
再一次总结基础的排序算法,印象里距离上一次总结排序也没过多久,查询后才发现上一篇总结《排序算法系列之(六)——逐步砍掉树杈的堆排序》到现在已经过去了3年多的时间,真是时光荏苒,岁月如梭啊,这次想起总结排序起因并不是排序,而是查找逆序数对,而解决逆序数对通常使用的两种方式是归并排序和离散化树状数组,所以我又把归并排序捡起来了...原创 2022-10-04 02:24:57 · 846 阅读 · 0 评论 -
排序算法系列之(六)——逐步砍掉树杈的堆排序
文章目录前言堆排序排序过程代码实现代码分析运行测试前言在实现堆排序之前,我们先来看看常见的数据结构,在网上我看到了一个特别全的版本:数组,栈,链表,队列,树,堆,图,散列表,本着鸡蛋里挑骨头的态度,我们来看看数组和链表,这两个到底算不算数据结构,貌似它们应该算是线性表这个结构,它们更应该被称作是一个实现结构的元素,比如通过数组和链表可以实现线性表、队列、栈,二叉树等等,可是看看数据结构的定义是...原创 2019-06-30 00:09:10 · 1158 阅读 · 32 评论 -
排序算法系列之(五)——为目标打好基础的希尔排序
前言刚刚分析过的插入排序通常被叫做简单插入排序或者直接插入排序,而这篇文章刚好以插入排序为基础来说说希尔排序,还是先从名字开始,结果发现完全没有头绪,说实话第一次听说这个排序时还以为是个特别神奇的高端算法,结果了解一番之后发现其实是一个被改造的插入排序,“希尔”居然是发明者的名字,所以从名字来判断算法思想在这里行不通,甚至说快速排序起码说明了这种方法排序快,而希尔排序等于什么都没说。希尔排序...原创 2019-03-09 16:07:18 · 580 阅读 · 0 评论 -
排序算法系列之(四)——抓扑克牌风格的插入排序
前言上次聊到了快速排序,我们说到快排这个名字是非常抽象的,究竟什么是快排,从名字上我们无从得知,或许叫二分排序都比快速排序要形象的多,可是这又和归并排序重复了,所以我们还是不要在意快排的名字了,接下来看一下今天的插入排序,这里指的是简单的插入排序。插入排序相比于快速排序要形象很多,整个排序过程就是在不断的插入操作中完成的,如果你打过扑克基本上很容易理解这种排序方法,排序的过程几乎与抓扑克牌的...原创 2018-12-08 16:52:55 · 2922 阅读 · 2 评论 -
排序算法系列之(三)——略显神秘的快速排序
前言继续我的填坑旅程,上次说到《排序算法系列之(二)——冒泡排序名字最为形象的一个》2017-09-16 10:42:07,又过了半年多,终于再一次骨气勇气决定聊一聊快速排序的思路,不过与冒泡排序不同的是,这个快速排序的名字似乎和算法的思路没有什么关系,这个名字太抽象了,起这个名字可能当初仅仅是因为它比别的排序快一点。咳咳!抽象的名字不利于我们对于算法思路的理解,或许这就是我为什么当初认为...原创 2018-04-08 20:14:26 · 878 阅读 · 0 评论 -
排序算法系列之(二)——冒泡排序名字最为形象的一个
前言大约在上个冬季我给自己挖了一个坑(想要总结排序~~(>_<)~~),感觉把自己埋起来会暖和一点,可是大约一年过去了,埋的越来越深,却丝毫感觉不到暖意……被我的诗意打动了有没有,已经深深的折服了有没有,呵呵,我自己都不信!还是继续来说说排序...原创 2017-09-16 10:42:07 · 1769 阅读 · 0 评论 -
排序算法系列之(一)——选择排序清新脱俗的一面
前言大家还记得我几个月前挖的一个大坑吗?非要自不量力的来讲讲排序家族的故事,这不是!今天我回来继续填这个坑,搞不好会把自己埋在这了/(ㄒoㄒ)/~~话说关于这些排序算法的总结网上各种版本的都有,并且有些写的非常详细,如果你想对比各种算法的优缺点、复杂度、稳定性等等,建议你去看看那些文章,对于知识的积累还是非常有帮助的,最起码可以应付一些考试和面试。今天我突然来了兴致,也想来写写排序算法,那么我们先拿原创 2017-02-15 16:29:08 · 1109 阅读 · 0 评论 -
排序算法系列之(零)——排序初体验
一直想总结一下排序这个系列,可总是抽不出大块的时间来整理,算法这个东西没有充足的时间反复磨合是不能完全消化吸收的,回想一下我上一次总结排序算法还是在大学期间的图书馆里,转眼间毕业后工作已经两年多了,我对这些算法又有了不同的理解,有时候会有顿悟的感觉,就是那么突然的一瞬间,仿佛一切都明白了。说起排序算法,算是我用的比较多的算法之一了,回想当年奋战ACM竞赛的时候,排序是一个无法避开的点,而我用的最多的原创 2016-11-09 13:48:43 · 1053 阅读 · 0 评论