![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
文章平均质量分 59
无咎Jory
日写代码千千万,其中BUG占一半。
展开
-
排序算法——选择排序
选择排序,除去冒泡排序之外最简单的排序算法。首先我们来总结下选择排序的基本思路。我们先要找到需要排序集合中最小的元素(或者最大,根据升序或降序,我们这里按照升序),然后将它和集合第一个元素交换位置。这里我们需要注意一下,我们在选择最小的过程中,需要时刻记录当前最小数的索引,可能这句话有些难理解,待会结合代码就能很轻松的搞懂。通过往复处理,我们就能够将整个数据进行排序。对于长度为N的数组,选...原创 2018-07-25 21:36:08 · 353 阅读 · 0 评论 -
排序算法——插入排序与希尔排序
最近一直在看《算法》,正好复习到了排序这部分,就都总结一下。插入排序插入排序和选择排序都属于非常简单而且容易理解的排序算法。插入排序就像我们平时玩的纸牌,在排顺序的时候,会按照顺序一张一张插入。在一个乱序数组中,同样如此,我们会在遍历中,将数据按照升序或降序方式向之前已经排列好的数据中进行插入。插入排序优势在于对于一个大部分数据已经有序,只有少数无序数据分布其中的模型有着很好的性能。但同样...原创 2018-07-26 11:02:33 · 225 阅读 · 0 评论 -
排序算法——归并排序与快速排序
今天总结一下两种性能优秀的排序算法,归并排序与快速排序。首先,二者都运用了递归和分治的两种重要思想。在这里递归就不做详细介绍。分治:顾名思义,分而治之,这是在排序中我们非常常见的一种思想,同时也是在其他场景乃至日常生活的优秀解题方法。当我们遇到一个大的难题无从下手时,我们往往都会将其分成几个小块,当我们处理好每个小模块问题后,将其合并,大的问题便能够的以解决。同样,在我们处理排序问题时,也...原创 2018-07-27 20:50:08 · 20951 阅读 · 6 评论