数据结构1800第十章.docx

上传人:b****4 文档编号:4886893 上传时间:2023-05-07 格式:DOCX 页数:56 大小:53.40KB
下载 相关 举报
数据结构1800第十章.docx_第1页
第1页 / 共56页
数据结构1800第十章.docx_第2页
第2页 / 共56页
数据结构1800第十章.docx_第3页
第3页 / 共56页
数据结构1800第十章.docx_第4页
第4页 / 共56页
数据结构1800第十章.docx_第5页
第5页 / 共56页
数据结构1800第十章.docx_第6页
第6页 / 共56页
数据结构1800第十章.docx_第7页
第7页 / 共56页
数据结构1800第十章.docx_第8页
第8页 / 共56页
数据结构1800第十章.docx_第9页
第9页 / 共56页
数据结构1800第十章.docx_第10页
第10页 / 共56页
数据结构1800第十章.docx_第11页
第11页 / 共56页
数据结构1800第十章.docx_第12页
第12页 / 共56页
数据结构1800第十章.docx_第13页
第13页 / 共56页
数据结构1800第十章.docx_第14页
第14页 / 共56页
数据结构1800第十章.docx_第15页
第15页 / 共56页
数据结构1800第十章.docx_第16页
第16页 / 共56页
数据结构1800第十章.docx_第17页
第17页 / 共56页
数据结构1800第十章.docx_第18页
第18页 / 共56页
数据结构1800第十章.docx_第19页
第19页 / 共56页
数据结构1800第十章.docx_第20页
第20页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据结构1800第十章.docx

《数据结构1800第十章.docx》由会员分享,可在线阅读,更多相关《数据结构1800第十章.docx(56页珍藏版)》请在冰点文库上搜索。

数据结构1800第十章.docx

数据结构1800第十章

一、选择题

1.某内排序方法的稳定性是指()。

【南京理工大学1997一、10(2分)】

A.该排序算法不允许有相同的关键字记录B.该排序算法允许有相同的关键字记录

C.平均时间为0(nlogn)的排序方法D.以上都不对

2.下面给出的四种排序法中()排序法是不稳定性排序法。

【北京航空航天大学1999一、10(2分)】

A.插入B.冒泡C.二路归并D.堆积

3.下列排序算法中,其中()是稳定的。

【福州大学1998一、3(2分)】

A.堆排序,冒泡排序B.快速排序,堆排序

C.直接选择排序,归并排序D.归并排序,冒泡排序

4.稳定的排序方法是()【北方交通大学2000二、3(2分)】

A.直接插入排序和快速排序B.折半插入排序和起泡排序

C.简单选择排序和四路归并排序D.树形选择排序和shell排序

5.下列排序方法中,哪一个是稳定的排序方法?

( )【北方交通大学2001一、8(2分)】

A.直接选择排序B.二分法插入排序C.希尔排序D.快速排序

6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序B.归并排序C.冒泡排序)。

【北京邮电大学2001一、5(2分)】

7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

()就是不稳定的排序方法。

【清华大学1998一、3(2分)】

A.起泡排序B.归并排序C.Shell排序D.直接插入排序E.简单选择排序

8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。

A.直接插入B.直接选择C.堆D.快速E.基数【中科院计算所2000一、5(2分)】

9.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A.快速排序B.堆排序C.归并排序D.直接插入排序

【中国科技大学1998二、4(2分)】【中科院计算所1998二、4(2分)】

10.下面的排序算法中,不稳定的是()【北京工业大学1999一、2(2分)】

A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。

11.下列内部排序算法中:

【北京工业大学2000一、1(10分每问2分)】

A.快速排序B.直接插入排序C.二路归并排序D.简单选择排序E.起泡排序F.堆排序

(1)其比较次数与序列初态无关的算法是()

(2)不稳定的排序算法是()

(3)在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<

(4)排序的平均时间复杂度为O(nlogn)的算法是()为O(nn)的算法是()

12.排序趟数与序列的原始状态有关的排序方法是()排序法。

【北京航空航天大学1999一、9(2分)】

A.插入B.选择C.冒泡D.快速

13.下面给出的四种排序方法中,排序过程中的比较次数与排序方法无关的是。

()

A.选择排序法B.插入排序法C.快速排序法D.堆积排序法

【北京航空航天大学2000一、10(2分)】

14.对下列四种排序方法,在排序中关键字比较次数同记录初始排列无关的是()。

A.直接插入B.二分法插入C.快速排序D.归并排序

【南京理工大学2000一、7(1.5分)】

15.在下列排序算法中,哪一个算法的时间复杂度与初始排序无关()。

【北京理工大学2001六、4

(2)】

A.直接插入排序B.气泡排序C.快速排序D.直接选择排序

16.比较次数与排序的初始状态无关的排序方法是()。

【北方交通大学2000二、2(2分)】

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

17.数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的()的两趟排序后的结果。

A.选择排序B.冒泡排序C.插入排序D.堆排序

【合肥工业大学1999一、3(2分)】

18.数据序列(2,1,4,9,8,10,6,20)只能是下列排序算法中的()的两趟排序后的结果。

A.快速排序B.冒泡排序C.选择排序D.插入排序

【合肥工业大学2000一、3(2分)】

19.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序的过程中的变化为

(1)8447251521

(2)1547258421(3)1521258447(4)1521254784

则采用的排序是()。

【南京理工大学1997一、2(2分)】

A.选择B.冒泡C.快速D.插入

20.对序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是()排序。

【南京理工大学1998一、8(2分)】

A.选择B.快速C.希尔D.冒泡

21.若上题的数据经一趟排序后的排列为{9,15,7,8,20,-1,4},则采用的是()排序。

A.选择B.堆C.直接插入D.冒泡【南京理工大学1998一、9(2分)】

22.下列排序算法中()不能保证每趟排序至少能将一个元素放到其最终的位置上。

A.快速排序B.shell排序C.堆排序D.冒泡排序【合肥工业大学2001一、3(2分)】

23.下列排序算法中()排序在一趟结束后不一定能选出一个元素放在其最终位置上。

A.选择B.冒泡C.归并D.堆

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

24.下列序列中,()是执行第一趟快速排序后所得的序列。

【福州大学1998一、9(2分)】

A.[68,11,18,69][23,93,73]B.[68,11,69,23][18,93,73]

C.[93,73][68,11,69,23,18]D.[68,11,69,23,18][93,73]

25.有一组数据(15,9,7,8,20,-1,7,4)用快速排序的划分方法进行一趟划分后数据的排序为()(按递增序)。

【南京理工大学1996一、4(2分)】

A.下面的B,C,D都不对。

B.9,7,8,4,-1,7,15,20

C.20,15,8,9,7,-1,4,7D.9,4,7,8,7,-1,15,20

26.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()。

【燕山大学2001一、4(2分)】

A.(38,40,46,56,79,84)B.(40,38,46,79,56,84)

C.(40,38,46,56,79,84)D.(40,38,46,84,56,79)

27.在下面的排序方法中,辅助空间为O(n)的是()。

【南京理工大学1999一、17(1分)】

A.希尔排序B.堆排序C.选择排序D.归并排序

28.下列排序算法中,在待排序数据已有序时,花费时间反而最多的是()排序。

A.冒泡B.希尔C.快速D.堆【南京理工大学2001一、12(1.5分)】

29.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是:

()。

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

30.对初始状态为递增序列的表按递增顺序排序,最省时间的是()算法,最费时间的是()算法。

A.堆排序B.快速排序C.插入排序D.归并排序【南开大学2000一、5】

31.就平均性能而言,目前最好的内排序方法是()排序法。

【西安电子科技大学1998一、9(2分)】

A.冒泡B.希尔插入C.交换D.快速

32.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用()方法最快。

A.起泡排序B.快速排列C.Shell排序D.堆排序E.简单选择排序

【清华大学1998一、2(2分)】

类似本题的另外叙述有:

(1)设有5000个无序的元素,希望用最快的速度挑选出其中前十个最大的元素,在以下的排序方法中()最好为什么【山东工业大学1995二、4(3分)】

A.快速排序B.堆排序C.归并排序D.基数排序E.SHELL排序

(2)数据表中有10000个元素,如果仅要求求出其中最大的10个元素,则采用()算法最节省时间。

A.堆排序B.希尔排序C.快速排序D.直接选择排序【北京理工大学2000一、5(2分)】

(3)设有1000个无序的元素,希望用最快的速度挑选出其中前十个最大的元素,在以下的排序方法中采用哪一种最好?

()【东北大学1999一、5(3分)】

A.快速排序B.归并排序C.堆排序D.基数排序E.shell排序

33.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是()

A.直接插入排序B.冒泡排序C.简单选择排序【山东工业大学1995二、1(2分)】

类似本题的另外叙述有:

(1)在文件"局部有序"或文件长度较小的情况下,最佳内部排序的方法是()。

A.直接插入排序B.冒泡排序C.简单选择排序D.快速排序【山东大学2001二、2(1分)】

(2)在待排序的元素序列基本有序的前提下,效率最高的排序方法是()。

【武汉大学2000二、6】

A.插入排序B.选择排序C.快速排序D.归并排序

34.下列排序算法中,()算法可能会出现下面情况:

在最后一趟开始之前,所有元素都不在其最终的位置上。

【南开大学2000一、4】【西北大学2001二、1】

A.堆排序B.冒泡排序C.快速排序D.插入排序

35.下列排序算法中,占用辅助空间最多的是:

()【厦门大学2002五、2(8分)】

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

36.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。

【北京航空航天大学1999一、8(2分)】

A.插入B.选择C.希尔D.二路归并

37.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键码字的记录,加入到已排序记录的末尾,该排序方法是()。

【中山大学1999一、11】

A.选择B.冒泡C.插入D.堆

38.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较次数最少的是()。

A.94,32,40,90,80,46,21,69B.32,40,21,46,69,94,90,80

C.21,32,46,40,80,69,90,94D.90,69,80,46,21,32,94,40

【北方交通大学2001一、15(2分)】

39.直接插入排序在最好情况下的时间复杂度为()【北京邮电大学1999一、5(2分)】

A.O(logn)B.O(n)C.O(n*logn)D.O(n2)

40.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行()次比较。

A.3B.10C.15D.25【南京理工大学1999一、11(4分)】

类似本题的另外叙述有:

(1)若用冒泡排序对关键字序列{18,16,14,12,10,8},进行从小到大的排序,所需进行的关键字比较总次数是()【北京工商大学2001一、4(3分)】

A.10B.15C.21D.34

41.采用简单选择排序,比较次数与移动次数分别为()。

【南京理工大学2000一、18(1.5分)】

A.O(n),O(logn)B.O(logn),0(n*n)C.0(n*n),0(n)D.0(nlogn),0(n)

42.对序列{15,9,7,8,20,-1,4,}用希尔排序方法排序,经一趟后序列变为{15,-l,4,8,20,9,7}则该次采用的增量是()【南京理工大学1999一、15(1分)】

A.lB.4C.3D.2

43.对下列关键字序列用快速排序法进行排序时,速度最快的情形是( )。

A.{21,25,5,17,9,23,30}B.{25,23,30,17,21,5,9}

C.{21,9,17,30,25,23,5}D.{5,9,17,21,23,25,30}【北方交通大学2001一、18(2分)】

44.对关键码序列28,16,32,12,60,2,5,72快速排序,从小到大一次划分结果为()。

A.(2,5,12,16)26(60,32,72)B.(5,16,2,12)28(60,32,72)

C.(2,16,12,5)28(60,32,72)D.(5,16,2,12)28(32,60,72)【青岛大学2000三、4(2分)】

45.对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是()

A.每次分区后,先处理较短的部分B.每次分区后,先处理较长的部分

C.与算法每次分区后的处理顺序无关D.以上三者都不对【北方交通大学2000二、5(2分)】

46.当n个整型数据是有序时,对这n个数据用快速排序算法排序,则时间复杂度是(6),当用递归算法求n!

时,算法的时间复杂度是(7),则:

(6)-(7)=()【南京理工大学1999一、(6-7)(4分)】

A.O(n)B.O(nlogn)C.O(n*n)D.O(logn)

47.快速排序在最坏情况下的时间复杂度是(),比()的性能差。

A.O(NlogN)B.O(N2)C.O(N3)D.堆排序E.冒泡排序F.选择排序

【山东工业大学1995二、2(4分)】

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

【燕山大学2001一、3(2分)】

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

C.要排序的数据个数为奇数D.要排序的数据已基本有序

49.在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在()位置上。

A.n/2B.n/2-1C.1D.n/2+2【中科院计算所2000一、4(2分)】

50.以下序列不是堆的是()。

【西安电子科技大学2001应用一、5(2分)】

A.(100,85,98,77,80,60,82,40,20,10,66)B.(100,98,85,82,80,77,66,60,40,20,10)

C.(10,20,40,60,66,77,80,82,85,98,100)D.(100,85,40,77,80,60,66,98,82,10,20)

51.下列四个序列中,哪一个是堆()。

【北京工商大学2001一、8(3分)】

A.75,65,30,15,25,45,20,10B.75,65,45,10,30,25,20,15

C.75,45,65,30,15,25,20,10D.75,45,65,10,25,30,20,15

52.堆排序是()类排序,堆排序平均执行的时间复杂度和需要附加的存储空间复杂度分别是()

A.插入B.交换C.归并D.基数E.选择

F.O(n2)和O

(1)G.O(nlog2n)和O

(1)

H.O(nlog2n)和O(n)I.O(n2)和O(n)【西北大学2001二、2】

53.在对n个元素的序列进行排序时,堆排序所需要的附加存储空间是()。

A.O(log2n)B.O

(1)C.O(n)D.O(nlog2n)【西安电子科技大学2001应用一、10(2分)】

54.对n个记录的文件进行堆排序,最坏情况下的执行时间是多少?

()

A.O(log2n)B.O(n)C.O(nlog2n)D.O(n*n)【北方交通大学2001一、9(2分)】

55.有一组数据(15,9,7,8,20,-1,7,4),用堆排序的筛选方法建立的初始堆为()

A.-1,4,8,9,20,7,15,7B.-1,7,15,7,4,8,20,9

C.-1,4,7,8,20,15,7,9D.A,B,C均不对。

【南京理工大学1996二、5(2分)】

56.归并排序中,归并的趟数是()。

【南京理工大学2000一、19(1.5分)】

A.O(n)B.O(logn)C.O(nlogn)D.O(n*n)

类似本题的另外叙述有:

(1)归并排序的时间复杂性是()。

【中山大学1999一、12】

A.O(N*N)B.O(N)C.O(N*LOG(N))D.O(LOG(N))

57.在排序算法中每一项都与其它各项进行比较,计算出小于该项的项的个数,以确定该项的位置叫()

A.插入排序B.枚举排序C.选择排序D.交换排序【北京邮电大学2000二、6(20/8分)】

58.就排序算法所用的辅助空间而言,堆排序,快速排序,归并排序的关系是 ()

A.堆排序〈 快速排序〈归并排序 B.堆排序〈 归并排序〈快速排序

C.堆排序〉归并排序〉快速排序 D.堆排序>快速排序>归并排序

E.以上答案都不对【西安交通大学1996三、1(3分)】

59.排序方法有许多种,

(1)法从未排序的序列中依次取出元素,与已排序序列(初始时为空)中的元素作比较,将其放入已排序序列的正确位置上;

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

【北方交通大学1999一、3(5分)】

(1)--(5):

A.选择排序B.快速排序C.插入排序D.起泡排序

E.归并排序F.shell排序G.堆排序H.基数排序

类似本题的另外叙述有:

(1)排序的方法有很多种,()法从未排序的序列中依次取出元素与已排序序列中的元素比较,将其放在已排序序列的正确位置上;()法从未排序序列中挑选元素,并将其依次放入已排序序列的一端;交换排序法是对序列中的元素进行一系列比较,当被比较的两元素逆序时,进行交换。

()和()是基于这类方法的两种排序方法,而()是比()效率更高的方法。

供选择的答案:

A.快速排序B.选择排序C.归并排序D.冒泡排序E.直接插入排序

【山东大学1998三、2(5分)】【山东工业大学2000三、2(7分)】

60.设要将序列(q,h,c,y,p,a,m,s,r,d,f,x)中的关键码按字母升序重新排序,

(1)()是初始步长为4的shell排序一趟扫描的结果;

(2)()是对排序初始建堆的结果;

(3)()是以第一个元素为分界元素的快速一趟扫描的结果。

从下面供选择的答案中选出正确答案填入括号内。

【厦门大学2000六、3(16%/3分)】

A.f,h,c,d,p,a,m,q,r,s,y,xB.p,a,c,s,q,d,f,x,r,h,m,y

C.a,d,c,r,f,q,m,s,y,p,h,xD.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

类似本题的另外叙述有:

(1)在内排序的过程中,通常需要对待排序的关键码进行多编扫描,采用不同重新排序方法,会产生不同的排序中间结果。

设要将序列中的关键码按字母序的升序排列,则

(1)是冒泡排序一趟扫描的结果,

(2)是初始步长为4的希尔(SHELL)排序一趟扫描的结果,(3)是合并排序一趟扫描的结果,(4)是以第一个元素为分界元素的快速排序一趟扫描的结果,(5)是堆排序初始建堆的结果。

供选择的答案:

【上海海运学院1997二、3(5分)】

1-5:

A.f,h,c,d,p,a,m,q,r,s,y,xB.p,a,c,s,q,d,f,x,r,h,m,yC.a,d,c,r,f,q,m,s,y,p,h,x

D.h,c,q,p,a,m,s,r,d,f,x,yE.h,q,c,y,a,p,m,s,d,r,f,x

61.对由n个记录所组成的表按关键码排序时,下列各个常用排序算法的平均比较次数分别是:

二路归并排序为

(1),直接插入排序为

(2),快速排序为(3),其中,归并排序和快速排序所需要的辅助存储分别是(4)和(5)。

【上海海运学院1998二、4(5分)】

1-5:

A.O

(1)B.O(nlog2n)C.O(n)D.O(n2)E.O(n(log2n)2)F.O(log2n)

62.将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()

A.NB.2N-1C.2ND.N-1

【中科院计算所1998二、7(2分)】【中国科技大学1998二、7(2分)】

63.基于比较方法的n个数据的内部排序。

最坏情况下的时间复杂度能达到的最好下界是()。

A.O(nlogn)B.O(logn)C.O(n)D.O(n*n)【南京理工大学1996一、2(2分)】

64.已知待排序的n个元素可分为n/k个组,每个组包含k个元素,且任一组内的各元素均分别大于前一组内的所有元素和小于后一组内的所有元素,若采用基于比较的排序,其时间下界应为()。

A.O(nlog2n)B.O(nlog2k)C.O(klog2n)D.O(klog2k)【中国科技大学1998二、9(2分)】

类似本题的另外叙述有:

(1)已知待排序的N个元素可分为N/K个组,每个组包含K个元素,且任一组内的各元素均分别大于前一组内的所有元素和小于后一组内的所有元素,若采用基于比较的排序,其时间下界应为()

A.O(klog2k)B.O(klog2n)C.O(nlog2k)D.O(nlog2n)【中科院计算所1998二、9(2分)】

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2