计算机考研之数据结构重点知识19

Posted 计算机考研数据库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机考研之数据结构重点知识19相关的知识,希望对你有一定的参考价值。

Ø 考点23:排序方法

1)排序:无序序列转换为有序序列的过程。

2)内部排序:内存中记录的排序。

基于插入的排序:直接插入排序、折半插入排序、Shell排序。

基于交换的排序:冒泡排序、快速排序。

基于选择的排序:直接选择排序、堆排序

归并排序。

基数排序。

3)外部排序:含外存记录的排序。

多路归并排序。

败者树。

选择题

1.对一组数据(2121688510)进行排序,若前三趟排序结果如下:

第一趟结果:(2121651088

第二趟结果:(2125101688

第三趟结果:(2510121688

则采用的排序方法是(  )。   

A.起泡排序B.希尔排序C.归并排序D.基数排序

2.排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一。下列序列中,不可能是快速排序第二趟结果的是

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

C.2,12,16,5,28,32,72,60D.5,2,12,28,16,32,72,60

3.对初始数据序列(8391121475106)进行希尔排序。若第一趟排序结果为(1375264911108),第二趟排序结果为(1264375811109),则两趟排序采用的增量(间隔)依次是

A.31 B.32C.52D.53

4.在将数据序列(6159847)建成大根堆时,正确的序列变化过程是

A.6,1,7,9,8,4,5→6,9,7,1,8,4,5→9,6,7,1,8,4,5→9,8,7,1,6,4,5

B.6,9,5,1,8,4,7→6,9,7,1,8,4,5→9,6,7,1,8,4,5→9,8,7,1,6,4,5

C.6,9,5,1,8,4,7→9,6,5,1,8,4,7→9,6,7,1,8,4,5→9,8,7,1,6,4,5

D.6,1,7,9,8,4,5→7,1,6,9,8,4,5→7,9,6,1,8,45→9,7,6,1,8,4,5→9,8,6,1,7,4,5

5.已知序列251310129是大根堆,在序列尾部插入新元素18,将其再调整为大根堆,调整过程中元素之间进行的比较次数是

A.1B.2C.4D.5

6.在内部排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束都至少能够确定一个元素最终位置的方法是

Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序

Ⅳ.堆排序Ⅴ.二路归并排序

A.IVB.

C.D.

7.对一组数据(8447251521)进行排序,数据的排序次序在排序的过程中的变化为:

第一步:(8447251521

第二步:(1547258421

第三步:(1521258447

第四步:(1521254784

则其采用的排序方法是(  )。 

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

8.下列(  )排序方法在一趟排序结束后,不一定能选出一个元素放在其最终的位置上

A.选择排序B.起泡排序C.归并排序D.堆排序


答案


Ø 考点23:排序方法

1.解析

本题考查各种排序过程,分析如下:

1)起泡/冒泡排序

第一趟:两两相邻比较,将无序序列所有数(2121688510)中的最大值88放入当前待排序序列最终位置(第6个位置),无序序列长度减1,为(21216510),排序结果为(2121651088.

第二趟:两两相邻比较,将无序序列所有数(21216510)中的最大值16放入当前待排序序列最终位置(第5个位置),无序序列长度减1,为(212510),排序结果为(2125101688)。

第三趟:两两相邻比较,将无序序列所有数(212510)中的最大值12放入当前待排序序列最终位置(第4个位置),无序序列长度减1,为(2510),排序结果(2510121688)。

2)希尔排序

1)第一趟:

步长为2:排序结果步长为(2105121688)。

步长为3:排序结果(2510881216)。

步长为4,排序结果(2101688512)。

步长为5:排序结果(2121688510)。

2)和答案均不同,不是希尔排序结果。

3)归并排序

1)第一趟:

2路归并:排序结果为(2121688510),和答案不同。

3路归并:排序结果为(2121651088),和答案相同,第二趟进行3路归并排序。

2)第二趟:排序结果为(2510121688),和答案不同,增加路数,继续尝试第一趟排序结果。

3)第一趟4路归并:排序结果为(2121688510),和答案不同。

4)第一趟5路归并:排序结果为(2512168810),和答案不同。

5)不是归并排序结果。

4)基数排序

1)第一趟排序结果为(1021251688),和答案不同。

2)不是基数排序结果。

参考答案:A

2.解析:

要理解清楚排序过程中一的含义,题干也进行了解释。一个初始无序序列,所有元素都没有确定最终位置,对所有元素做一次(称为趟)快速排序后一个元素确定最终位置,且将原序列划分成了前后两块,此时前后两块子表是无序的。按的解释——对尚未确定最终位置的所有元素都处理一遍才是一趟,所以此时要对前后两块子表各做次快速排序才是一快速排序,如果只对一块子表进行了排序,而未处理另一块子表,就不能算是完整的一趟。

选项A,第一趟匹配72,只余一块无序序列,第二趟匹配28A可能。选项B,第一趟匹配2,第二趟匹配72B可能。选项C,第一趟匹配2,第二趟匹配2832C可能。选项D,无论先匹配12还是先匹配32,都会将序列分成两块,那么第二趟必须有两个元素匹配,所以D不可能,故选D

参考答案:D

3.解析:

【计算机考研】之数据结构重点知识19

  

第一趟分组:8163497115210;间隔为5,排序后组内递增。

第二趟分组:1541032987611;间隔为3,排序后组内递增。

参考答案:D

4.解析:

要熟练掌握建堆、堆的调整方法,从序列末尾开始向前遍历,变换过程如下图所示。

 

 

【计算机考研】之数据结构重点知识19

 

参考答案:A

5.解析:

插入18后,首先将1810比较,交换位置,再将1825比较,不交换位置。共比较了2次,调整的过程如下图所示。

【计算机考研】之数据结构重点知识19

参考答案:B

6.解析:

对于Ⅰ.简单选择排序每次选择未排序列中的最小元素放入其最终位置。对于,希尔排序每次是对划分的子表进行排序,得到局部有序的结果,所以不能保证每一趟排序结束都能确定一个元素的最终位置。对于,快速排序每一趟排序结束后都将枢轴元素放到最终位置。对于,堆排序属于选择排序,每次都将大根堆的根结点与表尾结点交换,确定其最终位置,对于,二路归并排序每趟对子表进行两两归并从而得到若干个局部有序的结果,但无法确定最终位置。

参考答案:A

7.解析

对每步的排序结果进行分析:

1)每一歩排序后都有一个元素的位置被确定。

2)每一歩的排序没有产生内部有序子序列。

3)符合怏速排序特征。

参考答案:C

8.解析

归并排序对序列进行了分割与合并,每次合并都可能引起各个元素位置在序列内位置的改变。

参考答案:C

往期回顾
【计算机考研】之数据结构重点知识19







 



了解更多计算机考研信息、课程辅导
请联系电话/微信:17737167635

以上是关于计算机考研之数据结构重点知识19的主要内容,如果未能解决你的问题,请参考以下文章

计算机网络 文都,2021计算机考研知识点:计算机网络

考研计算机 | 二叉树

计算机组成原理考研复习笔记----计算机系统结构概论第一章

考研计算机专业的,那些啥考试科目代码,比如308,309之类的,是啥意思?我只是举个例子,希望

湖南师范大学计算机考研分数线2022

王道考研计算机网络知识点