第十章 内部排序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 当位数大的数占大多数时

相关文档
最新文档