手机版

第 8 章 排序技术

时间:2025-07-09   来源:未知    
字号:

《数据结构》 习题 答案

第 8 章 排序技术

课后习题讲解

1. 填空题

⑴ 排序的主要目的是为了以后对已排序的数据元素进行( )。

【解答】查找

【分析】对已排序的记录序列进行查找通常能提高查找效率。

⑵ 对n个元素进行起泡排序,在( )情况下比较的次数最少,其比较次数为( )。在( )情况下比较次数最多,其比较次数为( )。

【解答】正序,n-1,反序,n(n-1)/2

⑶ 对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行直接插入排序,当把第7个记录60插入到有序表时,为寻找插入位置需比较( )次。

【解答】3

【分析】当把第7个记录60插入到有序表时,该有序表中有2个记录大于60。

⑷ 对一组记录(54, 38, 96, 23, 15, 72, 60, 45, 83)进行快速排序,在递归调用中使用的栈所能达到的最大深度为( )。

【解答】3

⑸ 对n个待排序记录序列进行快速排序,所需要的最好时间是( ),最坏时间是( )。

【解答】O(nlog2n),O(n2)

2005-07-14

页面 2 共 14

⑹ 利用简单选择排序对n个记录进行排序,最坏情况下,记录交换的次数为( )。

【解答】n-1

⑺ 如果要将序列(50,16,23,68,94,70,73)建成堆,只需把16与( )交换。

【解答】50

⑻ 对于键值序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从键值为( )的结点开始。

【解答】60

【分析】60是该键值序列对应的完全二叉树中最后一个分支结点。

2. 选择题

《数据结构》 习题 答案

⑴ 下述排序方法中,比较次数与待排序记录的初始状态无关的是( )。

A插入排序和快速排序 B归并排序和快速排序

C选择排序和归并排序 D插入排序和归并排序

【解答】C

【分析】选择排序在最好、最坏、平均情况下的时间性能均为O(n2),归并排序在最好、最坏、平均情况下的时间性能均为O(nlog2n)。

⑵ 下列序列中,( )是执行第一趟快速排序的结果。

A [da,ax,eb,de,bb] ff [ha,gc] B [cd,eb,ax,da] ff [ha,gc,bb]

C [gc,ax,eb,cd,bb] ff [da,ha] D [ax,bb,cd,da] ff [eb,gc,ha]

【解答】A

【分析】此题需要按字典序比较,前半区间中的所有元素都应小于ff,后半区间中的所有元素都应大于ff。 2005-07-14

页面 3 共 14

⑶ 对初始状态为递增有序的序列进行排序,最省时间的是( ),最费时间的是( )。已知待排序序列中每个元素距其最终位置不远,则采用( )方法最节省时间。

A 堆排序 B插入排序 C快速排序 D 直接选择排序

【解答】B,C,B

【分析】待排序序列中每个元素距其最终位置不远意味着该序列基本有序。

⑷ 堆的形状是一棵( )。

A二叉排序树 B满二叉树 C完全二叉树 D 判定树

【解答】C

【分析】从逻辑结构的角度来看,堆实际上是一种完全二叉树的结构。

⑸ 当待排序序列基本有序或个数较小的情况下,最佳的内部排序方法是( ),就平均时间而言,( )最佳。

A 直接插入排序 B 起泡排序 C简单选择排序 D快速排序

【解答】A,D

⑹ 设有5000个元素,希望用最快的速度挑选出前10个最大的,采用( )方法最好。

A快速排序 B堆排序 C希尔排序 D 归并排序

【解答】B

【分析】堆排序不必将整个序列排序即可确定前若干个最大(或最小)元素。

2005-07-14

页面 4 共 14

⑺ 设要将序列(Q,H,C,Y,P,A,M,S,R,D,F,X)中的关键码按升序排列,则( )是起泡排序一趟扫描的结果,( )是增量为4的希尔排序一趟扫描的结果,( )二路归并排序一趟扫描的结果,( )是以第一个元素为轴值的快速排序一趟扫描的结果,( )是堆排序初始建堆的结果。

A(F,H,C,D,P,A,M,Q,R,S,Y,X)

B(P,A,C,S,Q,D,F,X,R,H,M,Y)

C(A,D,C,R,F,Q,M,S,Y,P,H,X)

D(H,C,Q,P,A,M,S,R,D,F,X,Y)

E(H,Q,C,Y,A,P,M,S,D,R,F,X)

【解答】D,B,E,A,C

【分析】此题需要按字典序比较,并且需要掌握各种排序方法的执行过程。

⑻ 排序的方法有很多种,( )法从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放

《数据结构》 习题 答案

入已排序序列的正确位置上。( )法从未排序序列中挑选元素,并将其依次放入已排序序列的一端。交换排序是对序列中元素进行一系列比较,当被比较的两元素为逆序时,进行交换;( )和( )是基于这类方法的两种排序方法,而( )是比( )效率更高的方法;( )法是基于选择排序的一种方法,是完全二叉树结构的一个重要应用。

A 选择排序 B 快速排序 C 插入排序

D 起泡排序 E 归并排序 F 堆排序

【解答】C,A,D,B,B,D,F

⑼ 快速排序在( )情况下最不利于发挥其长处。

A 待排序的数据量太大 B 待排序的数据中含有多个相同值

C 待排序的数据已基本有序 D 待排序的数据数量为奇数

【解答】C

【分析】快速排序等改进的排序方法均适用于待排序数据量较大的情况,各种排序方法对待排序的数据中是否含有多个相同值,待排序 …… 此处隐藏:4516字,全部文档内容请下载后查看。喜欢就下载吧 ……

第 8 章 排序技术.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)