希尔排序增量为三的详细过程
希尔排序是插入排序的一种更高效的改进版本,也称为缩小增量排序。当增量为3时,基本过程如下: 假设有待排序的数组,先将数组中的元素按照下标的一定增量分组,此时增量为3。所有距离为3的倍数的记录放在同一个组中。例如数组元素为\(a_1,a_2,a_3,a_4,a_5,a_6,a_7,a_8,a_9\cdots\),则\(a_1,a_4,a_7,\cdots\)为一组,\(a_2,a_5,a_8,\cdots\)为一组,\(a_3,a_6,a_9,\cdots\)为一组。 然后对每组使用直接插入排序算法排序。在直接插入排序中,对于每个组内的元素,将其与前面已经排好序的元素进行比较,如果当前元素小于前面的元素,则将前面的元素向后移动,直到找到合适的位置插入当前元素。 例如对于某一组\(b_1,b_2,b_3,\cdots\),如果\(b_2 < b_1\),则将\(b_1\)后移一位,再比较\(b_2\)和新的\(b_1\)(原来的\(b_2\)前面的元素),如果还是小于,则继续后移,直到找到合适位置插入\(b_2\)。对组内的每个元素都进行这样的操作,完成该组的排序。 对所有的组都进行这样的直接插入排序后,这一轮的希尔排序(增量为3)就完成了。随着算法的进行,增量会逐渐减少,后续还会进行其他增量下的分组排序,直至增量减至1时,整个文件恰被分成一组,算法便终止。
答案问题点击 举报反馈
提到的作品
相关问答
热门问答
- 1 龙珠足球直播app官方下载安装
- 2 免费直播足球赛事的app
- 3 张起灵粉丝讨厌夏禾
- 4 二次元炫酷帅气壁纸
- 5 涂山雅雅的眼睛怎么画
- 6 痔疮药膏消肉球第一名
- 7 一人之下多久出一本单行本
- 8 高伟光综艺
- 9 冯宝宝武器
- 10 电视剧冯宝宝扮演者叫什么
- 11 足球直播高清免费观看中国沙特
- 12 大猿魂免费观看全集
- 13 扛门痔疮怎么治疗
- 14 海贼王图片绘画教程
- 15 冯宝宝和陆玲珑是情敌吗
- 16 乐视足球高清直播
- 17 祸根苗沈冲的结局
- 18 狂王12集免费
- 19 识字软件
- 20 悟空 原唱视频
- 21 海贼王乔伊波伊是不是伊姆大人
- 22 胡先煦一人之下电影版免费看
- 23 狐妖小红娘漫画最新疑点
- 24 叮叮游斗罗大陆官方正版下载
- 25 大猿魂第五集免费观看全集
- 26 一人之下各派功法
- 27 狐妖小红娘剧场版剧情介绍大结局
- 28 龙珠超免费全集在线观看动漫
- 29 一人之下傀儡怎么打
- 30 牛皮癣怎么治才能除根