设增量序列为5、3、1,初始关键字序列为51、12、55、23、49、7、60、36、72、12,写出希尔排序过程及每趟排序结果。
当增量为5、3、1时对51、12、55、23、49、7、60、36、72、12的希尔排序的结果为:第一趟d=5排序后7、12、36、23、12、51、60、55、72、49;第二趟d=3排序后7、12、36、23、12、51、49、55、72、60;第三趟d=1排序后7、12、12、23、36、49、51、55、60、72。当增量为5、3、1时,对51、12、55、23、49、7、60、36、72、12的希尔排序的结果为:第一趟d=5排序后7、12、36、23、12、51、60、55、72、49;第二趟d=3排序后7、12、36、23、12、51、49、55、72、60;第三趟d=1排序后7、12、12、23、36、49、51、55、60、72。
举一反三
- 设待排序的关键字序列为{25,36,12,68,45,16,37,22},使用希尔排序法进行排序。(1)写出希尔排序算法思想;(2)按增量序列为4,2,1进行排序时,写出每趟排序结束后关键字序列的状态。
- 设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试写出使用希尔排序(增量选取5,3,1)方法,每趟排序结束后关键字序列的状态。
- 设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试分别写出使用以下排序方法,每趟排序结束后关键字序列的状态。希尔排序(增量选取 5,3,1)
- 设待排序的关键字序列为{12,3,15, 28,10, 5},试写出使用简单选择排序方法,每趟排序结束后关键字序列的状态。 A: 初始关键字:12,3,16,28,10,5第一趟:3[12 1528 105] 第二趟:35[1528 1012] 第三趟:3510[28 15 12] 第四趟:3510 12 [1528] 第五趟:3510 12 15[28]
- 有一关键字序列(265,301,751,129,937,863,742,694,076,438),写出希尔排序的每趟排序结果。(取增量为5,3,1)
内容
- 0
排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试分别写出使用以下排序方法,每趟排序结束后关键字序列的状态。1)直接插入排序2) 希尔排序(增量选取5,3,1)3)冒泡排序4) 快速排序
- 1
设待排序的关键字序列为{12,22,116,30,28,10,160,20,6,18},试写出使用希尔排序(增量为5,2,1)排序方法每趟排序后的结果,并说明做了多少次关键字比较。
- 2
设待排序的关键字序列为{12,2,16,30,28,10,16*,20,6,18},试分别写出使用以下排序方法,每趟排序结束后关键字序列的状态。 ① 直接插入排序 ②希尔排序(增量选取5,3,1) ③冒泡排序 ④快速排序 ⑤简单选择排序
- 3
给出一组关键字K=(12,2,16,30,8,28,4,10,20,6,18),希望排序为非递减序列。试写出:(1)采用直接插入排序,写出前两趟排序结果。(2)采用希尔排序(增量选取5、3和1),写出前两趟排序结果。
- 4
设初始关键字序列为 { 35,71,60,20,18,21 },采用( )方法对该初始序列进行第一趟排序(非递减有序)后得到的结果为 { 20,18,21,35,71,60 }。 A: 基数排序 B: 起泡排序 C: 希尔排序,增量3 D: 简单选择排序 E: 直接插入排序