老狗啃骨头之算法-排序算法总结
摘要:
关于排序的算法,还有很多种。还有一些排序算法的思想,在不同的使用场景下再结合其它的算法逻辑,又可以衍生出新的算法设计。比如基数排序,就是在桶排序的基础上,按照一定的规则进行递归;还有计数排序,也是类似原理。除了这些常见的排序,还有一些比较典型的算法,像什么奇偶排序、梳排序、耐心排序、图书馆排序等等
书接上回,上面几篇笔记我们分别对常见的八种排序算法,进行了回顾,这八种经典的排序算法是:
冒泡排序、快速排序、插入排序、希尔排序、选择排序、堆排序、归并排序、基数排序
这几种算法是先贤们帮我们总结出来的特征明显、具有一定代表性的基础算法,完整的涵盖了算法设计的一些基本操作逻辑,对于我们了解学习算法,有很好的帮助。
关于排序的算法,还有很多种。还有一些排序算法的思想,在不同的使用场景下再结合其它的算法逻辑,又可以衍生出新的算法设计。比如基数排序,就是在桶排序的基础上,按照一定的规则进行递归;还有计数排序,也是类似原理。
除了这些常见的排序,还有一些比较典型的算法,像什么奇偶排序、梳排序、耐心排序、图书馆排序等等,还有一些光名字听起来就很有意思,如煎饼排序、珠排序、侏儒排序、臭皮匠排序、鸽巢排序、鸡尾酒排序等等,很多很多,都是在历史上不同的时期,不同的使用场景,前人们总结归纳出来的,后边有时间了咱们找俩有意思的耍耍。
与数据结构单纯的对数据存储形式进行概念上的归纳解释不同的是,从学习的时间线上,算法承接的是对数据结构的进一步学习和理解。我们说一个数据结构干学起来可能没什么意思,还容易枯燥乏味,但跟算法结合起来,在算法的理解和学习过程中,这么编一组代码,一实践,一些数据结构的知识概念可能会更深刻更有趣。
这一波对排序算法的回顾就先告一段落,感兴趣的小伙伴可以留言交流。