摘要: 排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程 阅读全文
posted @ 2020-04-11 14:56 会敲代码的王秀才 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 1 思想 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。桶排序 (Bucket sort)的工作的原理:假设输入数据服从均匀分布,将数据分到有限数量的桶里,每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排)。 2 算法描述 设置 阅读全文
posted @ 2020-04-11 14:42 会敲代码的王秀才 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1 思想 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 2 举例 可以看到 阅读全文
posted @ 2020-04-11 13:40 会敲代码的王秀才 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1 思想 快速排序(Quick Sort)使用分治法策略。 它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都要小。然后,再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 快速 阅读全文
posted @ 2020-04-11 11:36 会敲代码的王秀才 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1 概述 2 排序思想 一天,一尘拿着扑克自己在那玩,刚被师傅看见了 首先它把较大的数据集合分割成若干个小组(逻辑上分组),然后对每一个小组分别进行插入排序,此时,插入排序所作用的数据量比较小(每一个小组),插入的效率比较高 可以看出,他是按下标相隔距离为4分的组,也就是说把下标相差4的分到一组,比 阅读全文
posted @ 2020-04-11 00:09 会敲代码的王秀才 阅读(163) 评论(0) 推荐(0) 编辑