搜档网
当前位置:搜档网 › 计算机专业基础综合数据结构(排序)历年真题试卷汇编7

计算机专业基础综合数据结构(排序)历年真题试卷汇编7

计算机专业基础综合数据结构(排序)历年真题试卷汇编7
计算机专业基础综合数据结构(排序)历年真题试卷汇编7

计算机专业基础综合数据结构(排序)历年真题试卷汇编7

(总分:66.00,做题时间:90分钟)

一、单项选择题(总题数:15,分数:30.00)

1.下述几种排序方法中,要求内存量最大的是( )。【中南大学2005一、6(2分)】

(分数:2.00)

A.归并排序√

B.快速排序

C.插入排序

D.选择排序

解析:

2.快速排序方法在( )情况下最不利于发挥其长处。【华南理工大学2007】

(分数:2.00)

A.要排序的数据量太大

B.要排序的数据中含有多个相同值

C.要排序的数据个数为奇数

D.要排序的数据已基本有序√

解析:

3.当待排序列基本有序时,下列排序方法中( )最好。【北京邮电大学2005一、10 (2分)】

(分数:2.00)

A.直接插入排序√

B.快速排序

C.堆排序

D.归并排序

解析:

4.设被排序的结点序列共有N个结点,在该序列中的结点已十分接近排序的情况下,用直接插入法、归并法和一般的快速排序法对其排序,这些算法的时间复杂性应为( )。【上海交通大学2005四、5(2分)】(分数:2.00)

A.O(N),O(N),O(N)

B.O(N),O(N*log 2 N),O(N*log 2 N)

C.O(N),O(N*log 2 N),O(N 2 ) √

D.O(N 2 ),O(N*log 2 N),O(N 2 )

解析:

5.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的( )的两趟排序后的结果。【合肥工业大学1999一、3(2分)】

(分数:2.00)

A.选择排序

B.冒泡排序

C.插入排序√

D.堆排序

解析:解析:对于A、B和D三种排序方法两趟排序后,序列的首部或尾部的两个元素应是有序的两个极值,而给定的序列并不满足。

6.一个排序算法的时间复杂度与( )有关。【华中科技大学2004一、8(1分)】

(分数:2.00)

A.排序算法的稳定性

B.所需比较关键字的次数√

C.所采用的存储结构

D.所需辅助存储空间的大小

7.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47 (4)15 21 25 47 84则采用的排序是( )。【南京理工大学1997一、2(2分)】

(分数:2.00)

A.选择√

B.冒泡

C.快速

D.插入

解析:

8.对序列{15,9,7,8,20,一1,4)进行排序,进行一趟后数据的排列变为{4,9,一1,8,20,7,15),则采用的是( )排序。【南京理工大学1998一、8(2分)】

(分数:2.00)

A.选择

B.快速

C.希尔√

D.冒泡

解析:解析:本题为步长为3的一趟希尔排序。

9.若上题的数据经一趟排序后的排列为{9,15,7,8,20,一1,4},则采用的是( )排序。【南京理工大学1998一、9(2分)】

(分数:2.00)

A.选择

B.堆

C.直接插入√

D.冒泡

解析:

10.( )占用的额外空间的空间复杂性为O(1)。【上海交通大学2005四、4(2分)】

(分数:2.00)

A.堆排序算法√

B.归并排序算法

C.快速排序算法

D.以上答案都不对

解析:

11.有些排序算法在每趟排序过程中,都会有一个元素被放置在其最终的位置上,下列算法不会出现此情况的是( )。【北京交通大学2005一、7(2分)】

(分数:2.00)

A.Shell排序√

B.堆排序

C.冒泡排序

D.快速排序

解析:解析:每趟排序都会有一个元素被放置到最终位置上的排序方法有:冒泡排序,快速排序,直接选择排序,堆排序。

12.下列排序算法中,( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。【南京理工大学2005

一、10(1分)】

(分数:2.00)

A.希尔√

B.冒泡

C.选择

D.直接插入

13.下列排序算法中( )排序在一趟结束后不一定能选出一个元素放在其最终位置上。【南京理工大学2001

一、7(1.5分)】【哈尔滨工业大学2001二、4(2分)】

(分数:2.00)

A.选择

B.冒泡

C.归并√

D.堆

解析:

14.下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是( )。【电子科技大学2005

一、2.(1分)】

(分数:2.00)

A.堆排序

B.起泡排序

C.快速排序

D.直接插入排序√

解析:

15.(多选)在下列排序方法中,( )等方法在某趟结束后,选出一个元素到最终的位置。【华中科技大学2007

二、18(2分)】

(分数:2.00)

A.选择排序√

B.归并排序

C.冒泡排序√

D.堆排序√

解析:

二、填空题(总题数:5,分数:10.00)

16.快速排序在__________的情况下最易发挥其长处。

(分数:2.00)

__________________________________________________________________________________________ 正确答案:(正确答案:最好每次划分能得到两个长度相等的子文件。设文件长度n=2 k-1,第一遍划分得到两个长度为Ln/2j的子文件,第二遍划分得到4个长度为[n/4]的子文件,以此类推,总共进行k=log 2 (n+1)遍划分。在最后一趟划分时,各子文件长度均为1,排序结束。)

解析:

17.若一组记录的排序码为(46,79,56,38,40,84),利用堆排序建立的初始堆是__________。(注:堆顶元素取最大值。)【东南大学2005数据结构部分二、9(1分)】

(分数:2.00)

__________________________________________________________________________________________ 正确答案:(正确答案:84,79,56,38,40,46)

解析:

18.高度为五的堆中,最多有__________个元素,最少有__________个元素。【哈尔滨工业大学2005一、4(1分)】

(分数:2.00)

__________________________________________________________________________________________ 正确答案:(正确答案:2 h一1, 2 h-1)

解析:

19.堆排序的算法时间复杂度为__________。【合肥工业大学1999三、10(2分)】

(分数:2.00)

__________________________________________________________________________________________ 正确答案:(正确答案:O(nlog 2 n))

20.在堆排序中,首先需要进行的操作是__________。【北京理工大学2006十、5(1分)】

(分数:2.00)

__________________________________________________________________________________________ 正确答案:(正确答案:建堆)

解析:

三、判断题(总题数:10,分数:20.00)

21.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省。( )【上海交通大学1998一、16(1分)】

(分数:2.00)

A.正确

B.错误√

解析:

22.快速排序的速度在所有排序方法中为最快,而且所需附加空间也最少。( )【北京邮电大学1998一、7(2分)】【吉林大学2007一、8(1分)2006一、9(1分)】【中国海洋大学2005二、1(1分)】

(分数:2.00)

A.正确

B.错误√

解析:

23.内排序的快速排序方法,在任何情况下均可得到最快的排序效果。( )【中国海洋大学2007二、14(1分)】

(分数:2.00)

A.正确

B.错误√

解析:

24.堆肯定是一棵平衡二叉树。( )【南京航空航天大学1997一、6(1分)】

(分数:2.00)

A.正确

B.错误√

解析:解析:堆是n个元素的序列,可以看作是完全二叉树,但并无(根)结点大于左子树而小于右子树的要求,故其既不是二叉排序树,更不会是平衡二叉树。

25.堆是满二叉树。 ( )【南京航空航天大学1996六、6(1分)】

(分数:2.00)

A.正确

B.错误√

解析:

26.给定序列(100,86,48,73,35,39,42,57,66,21】,按堆结构的定义,它一定是堆。( )【吉林大学2006一、3(1分)】

(分数:2.00)

A.正确√

B.错误

解析:

27.(101,88,46,70,34,39,45,58,66,10)是堆。( )【北京邮电大学1999二、1(2分)】【上海海事大学2005一、8(2分)】

(分数:2.00)

A.正确√

B.错误

解析:

28.在用堆排序算法排序时,如果要进行增序排序,则需要采用“大根堆”。( )【合肥工业大学2000二、10(1分)】

(分数:2.00)

A.正确√

B.错误

解析:

29.堆排序是稳定的排序方法。 ( ) 【上海交通大学1998一、19(1分)】

(分数:2.00)

A.正确

B.错误√

解析:

30.有一大根堆,堆中任意结点的关键字均大于它的左右孩子关键字,则其具有最小值的结点一定是一个叶结点并可能在堆的最后两层中。 ( )【吉林大学2006一、10(1分)】

(分数:2.00)

A.正确√

B.错误

解析:

四、综合题(总题数:3,分数:6.00)

31.简述直接插入排序、简单选择排序、2路归并排序的基本思想以及在时间复杂度和排序稳定性上的差别。【西北工业大学1999二(8分)】

(分数:2.00)

__________________________________________________________________________________________

正确答案:(正确答案:直接插入排序的基本思想是基于插入,开始假定第一个记录有序,然后从第二个记录开始,依次插入前面有序的子文件中。即将记录R[i](2≤i≤n)插入有序子序列R[1..i—1]中,使记的有序序列从R[1..i-1]变为R[1..i],最终使整个文件有序。共进行n一1趟插入。最坏时间复杂度是O(n 2 ),平均时间复杂度是O(n 2 ),空间复杂度是O(1),是稳定排序。简单选择排序的基本思想是基于选择,开始有序序列长度为零,第i(1≤i2),平均时间复杂度是O(n2),空间复杂度是O(1),是不稳定排序。二路归并排序的基本思想是基于归并,开始将具有n个待排序记录的序列看成是n个长度为1的有序序列,然后进行两两归并,得到[n/2]个长度为2的有序序列,再进行两两归并,得到[n/4]个长度为4的有序序列。如此重复,经过[log2n]趟归并,最终得到一个长度为n的有序序列。最坏时间复杂度和平均时间复杂度都是O(nlog2n),空间复杂度是O(n),是稳定排序。)

解析:

32.对下列数据表,写出采用希尔排序算法的每一趟排序结果。 (100,12,20,31,1,5,44,66,61,200,30,80,150,4,8)设增量序列为:D=-{5,3,1)【中国海洋大学2007一、4(8分)】

(分数:2.00)

__________________________________________________________________________________________

正确答案:(正确答案:数据表初态:100,12,20,31,1,5,44,66,61,200,30,80,150,4,8 第1趟后:5,12,20,4,1,30,44,66,31,8,100,80,150,61,200 第2趟后:4,1,20,5,12,30,8,61,31,44,66,80,150,1 00,200 第3趟后:1,4,5,8,12,20,30,31,44,61,66,80,100,1 50,200)

解析:

33.采用希尔排序法,对以下关键字序列按递增次序排序,使用的增量序列为5、3、1,请给出每趟排序的结果。【北京理工大学2006十一、6(5分)】(8,6,3,4,2,9,7,5,1,0)

(分数:2.00)

__________________________________________________________________________________________

正确答案:(正确答案:排序第一趟结果:6,2,10,4,8,12,28,30,20,16,18)

解析:

相关主题