![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
文章平均质量分 61
JauWang
这个作者很懒,什么都没留下…
展开
-
链式基数排序
链式基数排序 基本策略 分配----收集 何为链式基数排序? 将单关键字排序转成多关建字排序,具体为,在排序过程中,将关键字拆分成若干项,然后把每一项作为一个“关键字“。 对于整数或字符串型的关键字,可将其拆分为单个数字或单个字母。 例如:当单关键字“ 123 ”,从低位到高位可拆成关键字 “3”,“2”,“1” 基本思想 从最低位的关键字开始,按关键字的不同值将序列中的数据分配到不同的队列中 然后按关键字从小到大(升序)收集起来,此时完成一趟分配—收集 重复分配—收集,直到最高位分配—收集完成,原创 2021-04-22 16:25:03 · 4867 阅读 · 2 评论 -
简单选择排序算法
简单选择排序算法 基本策略 每次从无序序列中选出一个关键字最大(最小)的记录添加到有序序列尾部 基本思想 第一趟:从长度为len的序列中选出关键字最大(最小)的记录与第1个记录交换 第二趟:从第2个数据开始,从长度为 len-1 的序列中选出关键字最大(最小)的记录与第2个记录交换 第三趟:从第3个数据开始,从长度为 len-2 的序列中选出关键字最大(最小)的记录与第3个记录交换 … 第 i 趟:从第 i 个数据开始,从长度为 len-i+1 的序列中选出关键字最大(最小)的记录与原创 2021-04-20 12:56:15 · 6923 阅读 · 0 评论 -
冒泡排序
基本思想 是一种两两比较、交换的交换排序算法 对于长度为 n 的序列,第 i 趟操作流程为:从序列最左边开始,比较第1个和第2个,如果不满足排序要求,则进行交换,交换后,再比较第2和第3个,如果不满足排序要求,则进行交换,一直如此比较下去,直到比较完第 n - i 和 n - i +1个数据,则该趟全部比较完成。 实例分析 以序列{12,34,20,15,9,25,27,13}为例,第1趟和第2趟交换过程如下 根据以上过程,可得到以下推论 代码实现(c语言) //冒泡排序---非递减 voi原创 2021-04-05 21:16:16 · 192 阅读 · 0 评论 -
希尔排序(直接插入排序优化)
基本思想 根据步长给序列分组,每组又通过直接插入排序算法进行排序,然后通过不断缩短步长,直接插入排序算法进行排序,直至步长为1,则序列排序完成。 直接插入与希尔排序适用情况 思路分析 选定步长gap,将 gap 位定为 i,则 i 与 i - gap位为一组序列 通过直接插入排序将该序列进行排序,排序成功后,i 往后移动一位,直至 i = len,则第一趟排序成功 重复1、2,当gap = 1,整个序列排序成功 代码实现(c语言) //非递减排序 void Shell_Insert_Sort(D原创 2021-04-04 20:34:32 · 124 阅读 · 0 评论 -
直接插入排序算法
直接原创 2021-04-04 16:27:23 · 357 阅读 · 0 评论