已知待排序序列9 1 2 5 7 4 8 6 3 5假如要对该序列进行什序,请你给出增量为5的希尔排序第一趟的结果并画出初始创建的大根堆形态
时间: 2024-01-04 20:02:49 浏览: 93
首先,增量为5的希尔排序第一趟需要对序列进行分组,每组相邻元素之间隔着4个元素。即分为5组:
9 1 2 5 7
4 8 6 3 5
对每组进行插入排序,得到:
7 1 2 5 9
4 5 6 3 8
最后,将每组排好序的子序列合并为一个有序序列:
7 1 2 5 9 4 5 6 3 8
同时,初始创建的大根堆形态为:
9
/ \
7 8
/ \ / \
5 4 6 3
/
1
/ \
2 5
其中,大根堆的定义为:每个节点的值都大于或等于其左右子节点的值。
相关问题
9、已知关键字序列(12,33,15,18,43,22,55,78,6,10)。 (1)取增量序列d=(5,3,1),写出希尔排序的每趟序列; (2)给出初始堆为大根堆的序列(3分)
(1) 希尔排序的每趟序列如下:
第一趟(增量为5):[12, 22, 6], [33, 55, 10], [15, 78], [18], [43]
第二趟(增量为3):[6, 10, 12, 18, 43], [15, 22, 55, 78], [33]
第三趟(增量为1):[6, 10, 12, 15, 18, 22, 33, 43, 55, 78]
(2) 初始堆为大根堆的序列如下:
[78, 43, 55, 18, 33, 22, 15, 12, 6, 10]
已知关键字序列{58,34,17,28,63,92},采用希尔排序,如第一趟排序的增量d1=3,则第一趟希尔排序的结果为:{ }。
根据增量d1=3和关键字序列{58,34,17,28,63,92},我们可以将序列分成3组来进行排序:
第一组:{58,28}
第二组:{34,63}
第三组:{17,92}
对每一组进行插入排序,得到:
第一组:{28,58}
第二组:{34,63}
第三组:{17,92}
将每一组的排序结果合并起来,得到第一趟希尔排序的结果为:{28,34,17,58,63,92}。
阅读全文