一个简单的希尔排序法,

2025-12-05 16:46:23
推荐回答(2个)
回答1:

j=j-d;
简单插入排序中j=j-1,是前一个元素,而希尔排序是对简单插入排序的改进,一次不是对所有的元素进行排序;而是将元素分成若干个组
如:1
5
3
7
18
6
2
9
4
如果d是3,则分组为{1
7
2}{5
18
9}{3
6
4}
每个组见进行排序;
j=j-d;如果j=4,
则应该前面的j=1时的元素比较,而不是j=3时的元素比较

回答2:

希尔排序是插入排序的一种。
基本思想:
先取一个小于
n
的整数
d
1
作为第一个增量,把文件的全部记录分成
d
1
个组。所有距离为
d
l
的倍数的记录放在同一个组中。先在各组内进行直接插人排序;然后,取第二个增量
d
2

评论
0

0

加载更多