排序算法
文章平均质量分 61
JauWang
这个作者很懒,什么都没留下…
展开
-
链式基数排序
链式基数排序基本策略分配----收集何为链式基数排序?将单关键字排序转成多关建字排序,具体为,在排序过程中,将关键字拆分成若干项,然后把每一项作为一个“关键字“。对于整数或字符串型的关键字,可将其拆分为单个数字或单个字母。例如:当单关键字“ 123 ”,从低位到高位可拆成关键字 “3”,“2”,“1”基本思想从最低位的关键字开始,按关键字的不同值将序列中的数据分配到不同的队列中然后按关键字从小到大(升序)收集起来,此时完成一趟分配—收集重复分配—收集,直到最高位分配—收集完成,原创 2021-04-22 16:25:03 · 4979 阅读 · 2 评论 -
简单选择排序算法
简单选择排序算法基本策略每次从无序序列中选出一个关键字最大(最小)的记录添加到有序序列尾部基本思想第一趟:从长度为len的序列中选出关键字最大(最小)的记录与第1个记录交换第二趟:从第2个数据开始,从长度为 len-1 的序列中选出关键字最大(最小)的记录与第2个记录交换第三趟:从第3个数据开始,从长度为 len-2 的序列中选出关键字最大(最小)的记录与第3个记录交换…第 i 趟:从第 i 个数据开始,从长度为 len-i+1 的序列中选出关键字最大(最小)的记录与原创 2021-04-20 12:56:15 · 6957 阅读 · 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 · 210 阅读 · 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 · 136 阅读 · 0 评论 -
直接插入排序算法
直接原创 2021-04-04 16:27:23 · 374 阅读 · 0 评论