第十章 内部排序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第十章习题解答
10.1
(1)直接插入排序:
初始关键字: 503 087 512 061 908 170 897 275 653 426
i=2:(087) 087 503 512 061 908 170 897 275 653 426
i=3: (512) 087 503 512 061 908 170 897 275 653 426
I=4: (061) 061 087 503 512 908 170 897 275 653 426
I=5: (908) 061 087 503 512 908 170 897 275 653 426
I=6: (170) 061 087 170 503 512 908 897 275 653 426
I=7: (897) 061 087 170 503 512 897 908 275 653 426
I=8: (275) 061 087 170 275 503 512 897 908 653 426
I=9: (653) 061 087 170 275 503 512 653 897 908 426
I=10:(426)061 087 170 275 426 503 512 653 897 908
(2)希尔排序:
初始关键字: 503 087 512 061 908 170 897 275 653 426
一趟结果:170 087 275 061 426 503 897 512 653 908
二趟结果:170 061 275 087 426 503 653 512 897 908
三趟结果:061 087 170 275 426 503 512 653 897 908
(3)快速排序:
初始关键字: 503 087 512 061 908 170 897 275 653 426
一趟结果:426 087 275 061 170 503 897 908 653 512
二趟结果:170 087 175 061 426 503 897 908 653 512
三趟结果:061 087 170 175 426 503 897 908 653 512
四趟结果:061 087 170 175 426 503 897 908 653 512
五趟结果:061 087 170 175 426 503 512 653 897 908
六趟结果:061 087 170 175 426 503 512 653 897 908
(4)堆排序:
初始关键字: 503 087 512 061 908 170 897 275 653 426 一趟结果:908 653 897 503 426 170 512 275 061 087 二趟结果:897 653 512 503 426 170 087 175 061 908 三趟结果:653 503 512 275 426 170 087 061 897 908 四趟结果:512 503 170 275 426 061 087 653 897 908 五趟结果:503 426 170 275 087 061 512 653 897 908 六趟结果:426 275 170 061 087 503 512 653 897 908 七趟结果:275 087 170 061 426 503 512 653 897 908 八趟结果:170 087 061 275 426 503 512 653 897 908 九趟结果:087 061 170 275 426 503 512 653 897 908 十趟结果:061 087 170 275 426 503 512 653 897 908 (5)归并排序
初始关键字: 503 087 512 061 908 170 897 275 653 426 一趟结果:087 503 061 512 170 908 275 897 426 653 二趟结果:061 087 503 512 170 275 897 908 426 653 三趟结果:061 087 170 275 503 512 897 908 426 653 四趟结果:061 087 170 275 426 503 512 653 897 908 (6)基数排序:
初始关键字: 503 087 512 061 908 170 897 275 653 426 一趟结果:170 061 512 503 653 275 426 087 897 908 二趟结果:503 908 512 426 653 061 170 275 087 897 三趟结果:061 087 170 275 426 503 512 653 897 908
10.2
快速排序:
初始关键字: Tim Kay Eva Roy Dot Jon
Kim Ann Tom Jim Guy Amy
一趟结果: Amy kay Eva Roy Dot Jon
Kim Ann Guy Jim Tim Tom
二趟结果:Amy kay Eva Roy Dot Jon
Kim Ann Guy Jim Tim Tom
三趟结果:Amy Jim Eva Guy Dot Jon
Ann Kay Kim Roy Tim Tom
归并排序:
初始关键字: Tim Kay Eva Roy Dot Jon
Kim Ann Tom Jim Guy Amy 一趟结果: Kay Tim Eva Roy Dot Jon Ann Kim Jim Tom Amy Guy 二趟结果: Eva Kay Roy Tim Ann Dot Jon Kim Amy Guy Jim Tom 三趟结果: Ann Dot Eva Jon Kay Kim Roy Tim Amy Guy Jim Tom
10.3 稳定的: 直接插入排序,归并排序,基数排序。 不稳定的: 希尔排序,快速排序,堆排序 对于2,2,1 稳定的排序应是 1,2,2 而希尔排序,快速排序,堆排序为1,2,2
10.7 (1)最好的情况是每次都能均匀的划分序列.即比较3次 (2)序列为:4 1 3 2 6 5 7
10.11 7+6+5+4+3+2+1=28
10.12 (1)为大顶堆
(2)不为堆。 调整为小顶堆:
12 24 33 65 33 56 48 92 86 70 (3)为大顶堆
(4)不为堆。 调整为小顶堆:
05 28 20 35 40 38 29 01 23 76 56 100
10.13 直接插入排序:)(2
n O 希尔排序:)(3
.1n O
快速排序:)(2
n O 堆排序:)log (n n O
归并排序:)log (n n O 基数排序:))((rd n d O
10.17 插入排序,希尔排序,快速排序,选择排序,归并排序,基数排序都可解决链表排序问题。堆排序不能,因为应用指针是不知道i 及对应的2i 和2i+1
10.18 当位数大的数占大多数时