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

计算机专业基础综合数据结构(排序)历年真题试卷汇编4(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。

[山东大学2001二、2(1分)】A.直接插入排序√B.冒泡排序C.简单选择排序D.快速排序2.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键字的记录,加入到已排序记录的末尾,该排序方法是( )。

【中山大学1999一、11(1分)】A.选择√B.冒泡C.插入D.堆3.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行( )次比较。

【南京理工大学1999一、11(4分)】A.3B.10C.15 √D.254.采用简单选择排序,比较次数与移动次数分别为( )。

【南京理工大学2000一、18(1.5分)】A.O(n),O(logn)B.O(logn),O(n*n)C.O(n*n),O(n) √D.O(nlogn),O(n)5.对序列{15,9,7,8,20,一1,4,)用希尔排序方法排序,经一趟后序列变为{15,一1,4,8,20,9,7},则该次采用的增量是( )。

【南京理工大学1999一、15(1分)】A.1B.4 √C.3D.26.快速排序在最坏情况下的时间复杂度与下列哪个算法最坏情况下的时间复杂度相同? ( )。

【北京交通大学2006一、7(2分)】A.Shell排序B.堆排序C.起泡排序√D.基排序7.下列排序方法中,( )在待排序的数据为有序时,花费时间反而最多。

【华中科技大学2007一、8(2分)】A.快速排序√B.插入排序C.堆排序D.冒泡排序8.快速排序算法在最好情况下的时间复杂度是( )。

【南京理工大学2005一、1(1分)】A.O(n)B.O(n 2 )C.O(nlog 2 n) √D.O(log 2 n)9.对下列关键字序列用快速排序法进行排序时,速度最快的情形是( )。

【北方交通大学2001一、18(2分)】A.{21,25,5,17,9,23,30} √B.{25,23,30,17,2l,5,9}C.{21,9,17,30,25,23,5}D.{5,9,17,21,23,25,30}10.对n个记录的线性表进行快速排序为减少算法的递归深度,以下叙述正确的是( )。

【北方交通大学2000二、5(2分)】A.每次分区后,先处理较短的部分√B.每次分区后,先处理较长的部分C.与算法每次分区后的处理顺序无关D.以上三者都不对11.快速排序在最坏情况下的时间复杂度是( ),比( )的性能差。

【山东工业大学1995二、2(4分)】A.O(NlogN)B.O(N2) √C.O(N2)D.堆排序√E.冒泡排序12.当n个整型数据是有序时,对这n个数据用快速排序算法排序,则时间复杂度是(1),当用递归算法求n!时,算法的时间复杂度是(2)【南京理工大学1 999一、(6—7)(4分)】A.O(nlog^2n) √B.O(n) √C.O)(n*n)D.O(log^2n)13.对各种内部排序方法来说( )。

【华南理工大学2006一、3(2分)】A.快速排序时间性能最佳√B.基数排序和归并排序是稳定的排序方法C.快速排序是一种选择排序D.堆排序所用的辅助空间比较大14.在含有n个关键字的小根堆(堆顶元素最小)中,关键字最大的记录有可能存储在( )位置上。

【中科院计算所2000一、4(2分)】A.[n/2]B.[n/2]一1C.1D.[n/2]+2 √小根堆中,关键字最大的记录只能在叶结点上,故不可能在小于等于[n/2]的结点上。

例子中A是最后一个分支结点,B是分支结点,C是小堆顶,值最小,D是叶子结点,所以选D。

15.若对n个元素进行堆排序,则在初始建堆的过程中需要进行( )筛选。

【北京理工大学2005一、5(1分)】A.1B.n/2 √C.(n一1)/2D.n建堆要从最后一个分支结点开始筛选,直至根结点,最后一个分支结点的编号是n/2。

二、填空题(总题数:7,分数:14.00)16.磁盘排序过程主要是先生成__________,然后对__________合并,而提高排序速度很重要的是__________,我们将采用__________方法来提高排序速度。

【山东工业大学1995一、4(4分)】__________________________________________________________________________________________ 正确答案:(正确答案:初始归并段,初始归并段,减少外存信息读写次数(即减少归并趟数),增加归并路数和减少初始归并段个数)17.在基于关键字比较且时间为O(nlog 2 n)的排序中,若要求排序是稳定的,则可选用__________ 排序;若要求就地排序(及辅助空间为O(1)),则可选用__________排序。

【中国科学技术大学1998一、7(2分)】__________________________________________________________________________________________ 正确答案:(正确答案:归并,堆)18.外排序的基本操作过程是__________和__________。

【西安电子科技大学1998二、3(3分)】__________________________________________________________________________________________ 正确答案:(正确答案:生成有序归并段(顺串),归并)19.外部排序的基本方法是归并排序,但在之前必须先生成__________。

【北京邮电大学2001二、6(2分)】__________________________________________________________________________________________ 正确答案:(正确答案:初始归并段(顺串))20.设工作区的容量为W,则置换一选择排序法所得到的初始归并段长度的期望值为__________。

【上海交通大学2004五、3(15/4分)】__________________________________________________________________________________________ 正确答案:(正确答案:2W)21.下面的排序算法的思想是:第一趟比较将最小的元素放在r[1]中,最大的元素放在r[n]中,第二趟比较将次小的放在r[2]中,将次大的放在r[n一1]中,依次下去,直到待排序列为递增序。

(注:代表两个【南京理工大学2001三、2(10分)】【中国海洋大学2007三(12分)】void sort(SqList&r,变量的数据交换)。

int n) {i=1; While(f1) ) (min=max=i; for(J=i+1;(2) ;++j) {if((3) )min=j; elseif(r[j]key>r[max].key)max=J;} if(i垒2 )r[min]r[i]; if(max!=n-i+1] {if((5) )r[min](一一>r In —i+1];else((6)};} i++; } }//sort__________________________________________________________________________________________ 正确答案:(正确答案:(1)i≤n/2 (2)j≤n-i+1 (3)r[j].key<-->r[n—i+1])22.下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。

【北京交通大学2005七、3(6分)] #define n 10 int sDlit(int a[hi,int low,int high) {int j,k,x; k=low:J=high;x=a[k];while(k=x&&k<=x&&k=0) { (2) ; high=stack[top][1]; top一一; k=split(a,low,high); if(low __________________________________________________________________________________________ 正确答案:(正确答案:(1)a[j]=a[k] (2)low=stack[top][0](3)stack[top][0]=k+1)三、判断题(总题数:4,分数:8.00)23.为提高排序速度,进行外排序时,必须选用最快的内排序算法。

( )【大连海事大学2001一、4(1分)】A.正确B.错误√24.外排中使用置换选择排序的目的是增加初始归并段的长度。

( )【北京邮电大学2005二、10(1分)】A.正确√B.错误25.影响外排序的时间因素主要是内存与外设交换信息的总次数。

( )【东北大学1997二、5(2分)】A.正确√B.错误26.在外部排序中,使用选择树法可以减少初始归并段的数量。

( )【哈尔滨工业大学2005三、3(1分)】A.正确√B.错误四、综合题(总题数:4,分数:8.00)27.考虑由三个不同关键词构成的序列:{a,b,c},试画出直接插入排序算法的二叉判定树。

【吉林大学2001一、3(4分)】__________________________________________________________________________________________正确答案:(28.设要求从大到小排序。

问在什么情况下冒泡排序算法关键字交换的次数为最大。

【南京航空航天大学1996九、1(4分)】__________________________________________________________________________________________正确答案:(正确答案:对冒泡算法而言,初始序列为反序时交换次数最多。

若要求从大到小排序,则表现为初始是上升序时交换次数最多。

)29.设与记录R 1,R 2,…,R n对应的关键字分别是K 1,K 2,…,K n。

如果存在R j和R i,使得j ij成立,试证明经过一趟起泡后,一定有记录与R i进行交换。

【吉林大学1996四、3 (20/3分)】__________________________________________________________________________________________正确答案:(正确答案:证明:起泡排序思想是相邻两个记录的关键字比较,若反序则交换,一趟排序完成得到一个最大值或最小值(视正向排序或反向排序而定)。

合集下载

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

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

计算机专业基础综合数据结构(集合)历年真题试卷汇编1(总分:82.00,做题时间:90分钟)一、综合题(总题数:25,分数:72.00)1.试用关键字序列(33,10,45,20,53,43,31,15,65,40),构造哈希(Hash)表,设哈希函数为:H(key)=key%11,其中key为关键字,%为求余运算符;用开放定址法处理冲突,用线性探测再散列法查找空位,用长度为14的数据元素组A[14]表示哈希表。

(1)画出该哈希表的存储结构图;(2)假定每个元素的查找概率相等,计算查找成功时的ASL;(3)计算查找不成功时的ASL。

【华中科技大学2007四、25(10分)】__________________________________________________________________________________________正确答案:(正确答案:成功 =(6*1+2*3+5+7)/10=24/10(3)ASL 失败=(4+3+2+1+2+1+1+2+1+9+8)/11=34/1 1。

计算方法参见上面58题(3)。

)2.采用哈希函数H(k)=3*k mod 13并用线性探测开放地址法处理冲突,在散列地址空间[0..12]中对关键字序列22,41,53,46,30,13,1,67,51。

(1)构造哈希表(画示意图);(2)装填因子;等概率下(3)成功的和(4)不成功的平均查找长度。

【北京工业大学2000三(8分)】【烟台大学2007四、4(10分)】__________________________________________________________________________________________正确答案:(正确答案:装填因子=9/13=0.7 (3)ASL SUCC =11/9 (4)ASL UNSUCC =29/13)3.设散列表长度为14,散列函数,其中i为键值中第一个字母在字母表中的序号,若键值的输入顺序为Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec,用拉链法处理冲突,要求:(1)构造散列表;(2)求出在等概率情况下,查找成功的平均查找长度。

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

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

计算机专业基础综合数据结构(排序)历年真题试卷汇编3(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:36.00)1.下面给出的四种排序法中,( )排序法是不稳定性排序法。

【北京航空航天大学1999一、10(2分)】A.插入B.冒泡C.二路归并D.堆√2.下列排序算法中,其中( )是稳定的。

【福州大学1998一、3(2分)】A.堆排序,冒泡排序B.快速排序,堆排序C.直接选择排序,归并排序D.归并排序,冒泡排序√3.稳定的排序方法是( )。

【北方交通大学2000二、3(2分)】A.直接插入排序和快速排序B.折半插入排序和起泡排序√C.简单选择排序和四路归并排序D.树形选择排序和Shell排序4.下列排序方法中,哪一个是稳定的排序方法?( )。

【北方交通大学2001一、8(2分)】A.直接选择排序B.二分法插入排序√C.希尔排序D.快速排序5.下列排序算法中,( )是稳定排序。

【北京理工大学2007一、10(1分)】A.希尔排序B.快速排序C.堆排序D.直接插入排序√6.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

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

【清华大学1998一、3(2分)】A.起泡排序B.归并排序C.Shell排序√D.直接插入排序E.简单选择排序√7.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选( )排序为宜。

【中科院计算所2000一、5(2分)】A.直接插入√B.直接选择C.堆D.快速E.基数8.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是( )。

【中国科技大学1998二、4(2分)】【中科院计算所1998二、4(2分)】A.快速排序B.堆排序C.归并排序√D.直接插入排序9.下面的排序算法中,不稳定的是( )。

【北京工业大学1999一、2(2分)】A.起泡排序B.折半插入排序C.简单选择排序√D.希尔排序√E.基数排序下列内部排序算法中:【北京工业大学2000一、1(10分每问2分)】A.快速排序B.直接插入排序C.二路归并排序D.简单选择排序E.起泡排序(分数:8.00)(1).其比较次数与序列初态无关的算法是( )A.B.C. √D. √E.(2).不稳定的排序算法是( )A. √B.C.D. √E.(3).在初始序列已基本有序(除去n个元素中的某k个元素后即呈有序,k<A.B. √C.D.E.(4).排序的平均时间复杂度为O(n*10gn)的算法是( ),为O(n*n)的算法是( )A. √B. √C. √D. √E. √10.排序趟数与序列的原始状态有关的排序方法是( )排序法。

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

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

计算机专业基础综合数据结构(图)历年真题试卷汇编4(总分:58.00,做题时间:90分钟)一、综合题(总题数:7,分数:14.00)1.已知一图如下图所示:(1)写出全部拓扑排序;(2)以V1为源点,以V8为终点,给出所有事件允许发生的最早时间和最晚时间,并给出关键路径;(3)求V1结点到各点的最短距离。

【北京邮电大学2000五(15分)】__________________________________________________________________________________________正确答案:(正确答案:关键路径有3条,长17。

各事件允许发生的最早时间和最晚时间略。

V1→V2→V6→V8,V1→V3→V5→V7→V8,V1→V7→V8→V1→V4→V5→V8 (3)V1结点到其他各结点的最短距离为:2,3,6,12,10,15,16。

)2.(1)对于有向无环图,叙述求拓扑有序序列的步骤;(2)对于以下的图,写出它的四个不同的拓扑有序序列。

【南开大学1998二(12分)】__________________________________________________________________________________________ 正确答案:(正确答案:(1)对有向图,求拓扑序列步骤为: 1)在有向图中选一个没有前驱(即入度为零)的顶点并输出。

2)在图中删除该顶点及所有以它为尾的弧。

3)重复1)和2),直至全部顶点输出,这时拓扑排序完成;否则,图中存在环,拓扑排序失败。

(2)这里使用形式化描述方法,当有多个顶点可以输出时,将其按序从上往下排列,这样不会丢掉拓扑序列。

这里只画出从顶点1开始的所有可能的拓扑序列,从顶点3开始的拓扑序列可类似画出。

)3.有向图的拓扑排序能否用图的深度搜索模式来查找?若能,请简述方法;若不能,请简述原因。

【西北大学2000二、8(5分)】__________________________________________________________________________________________ 正确答案:(正确答案:图的深度优先遍历可用于拓扑排序。

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

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

计算机专业基础综合数据结构(排序)历年真题试卷汇编1(总分:72.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.下列序列中,( )是执行第一趟快速排序后所得的序列。

【福州大学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]枢轴是73。

2.适合并行处理的排序算法是( )。

【西安电子科技大学2005一、8(1分)】【电子科技大学2005一、8(1分)】A.选择排序B.快速排序√C.希尔排序D.基数排序3.一组记录的关键字为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为( )。

【北京交通大学2005一、8(2分)【燕山大学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)如何对一趟快速排序的结果在最短的时间内做出正确判断,这里给出建议:首先84应该不动,所以D排除了;接着40应调到序列首,所以A排除了;接着79应调到移走40的空位上,B排除了。

选择答案C,不必再继续做了(假定确有唯一正确答案)。

4.下列排序算法中,( )算法可能会出现下面的情况:初始数据有序时,花费的时间反而最多。

【中南大学2005一、4(2分)】A.快速排序√B.堆排序C.希尔排序D.冒泡排序5.将一组无序的数据重新排列成有序序列,其方法有:( )。

【武汉理工大学2004一、8(3分)】A.拓扑排序B.快速排序√C.堆排序√D.基数排序√6.就平均性能而言,目前最好的内排序方法是( )排序法。

【西安电子科技大学1998一、9(2分)】A.冒泡B.希尔插,AC.交换D.快速√7.如果只想得到1000个元素组成的序列中第5个最小元素之前的部分排序的序列,用( )方法最快。

数据结构 排序 历年考研练习题库 试卷及答案

数据结构 排序 历年考研练习题库 试卷及答案

数据结构排序历年考研练习题库试卷及答案数据结构排序历年考研练习题库试卷及答案一、冒泡排序冒泡排序是一种基本的排序算法,它通过重复地交换相邻两个元素的位置来实现排序。

算法的基本思想是从待排序的元素中比较相邻的两个元素大小,并根据需要交换它们的位置,直到整个序列有序为止。

冒泡排序的原理如下:首先从序列的第一个元素开始,比较相邻的两个元素的大小,若前面的元素大于后面的元素,则交换它们的位置;否则,继续比较下一对相邻元素,直到比较到序列的最后一个元素。

这样一趟比较下来,序列中最大的元素就会被交换到最后一个位置。

接着,对序列中剩下的 n-1 个元素重复上述过程,执行 n-1 趟比较,直到整个序列有序。

在实践中,冒泡排序的时间复杂度为 O(n^2),其中 n 为待排序序列的长度。

尽管冒泡排序存在其它更好的排序算法,但它具有编码简单、实现容易以及对小规模数据排序的优势。

二、选择排序选择排序也是一种简单直观的排序算法,它的思想是将待排序序列分为已排好序的部分和未排序的部分,每次选取未排序部分中最小(或最大)的元素,将其放置在已排好序的部分的末尾。

重复此过程,直到整个序列有序。

选择排序的具体步骤如下:首先从待排序序列中找到最小(或最大)的元素,然后将其与序列的第一个元素交换位置,将该元素视为已排序部分;接着,在剩下的未排序部分中找到最小(或最大)的元素,将其与第二个元素交换位置,将该元素视为已排序部分的最后一个元素;以此类推,每次选择序列中最小(或最大)的元素,并将该元素放置在已排序部分的末尾。

最终完成排序。

选择排序的时间复杂度同样为 O(n^2),其中 n 为待排序序列的长度。

相比于冒泡排序,选择排序的交换操作较少,因此在实际应用中,选择排序的性能要优于冒泡排序。

三、插入排序插入排序是一种简单直观的排序算法,它的基本思想是将待排序的元素逐个插入已排好序的部分中,直到整个序列有序。

与冒泡排序和选择排序不同,插入排序是一种原地排序算法。

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编4

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编4

计算机专业基础综合数据结构(树和二叉树)历年真题试卷汇编4(总分:74.00,做题时间:90分钟)一、综合题(总题数:35,分数:74.00)1.(1)试找出满足下列条件的二叉树:1)先序序列与后序序列相同2)中序序列与后序序列相同3)先序序列与中序序列相同4)中序序列与层次遍历序列相同(2)已知一棵二叉树的中序序列和后序序列分别为DBEAFIHCG和DEBHIFGCA,画出这棵二叉树。

【东北大学1999六(4分)】【东南大学2000一、4(6分)】(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:(1)先序遍历二叉树的顺序是“根一左子树一右子树”,中序遍历“左子树一根一右子树”,后序遍历顺序是“左子树一右子树一根”,根据以上原则,本题解答如下:1)若先序序列与后序序列相同,则或为空树,或为只有根结点的二叉树。

2)若中序序列与后序序列相同,则或为空树,或为任一结点至多只有左子树的二叉树。

3)若先序序列与中序序列相同,则或为空树,或为任一结点至多只有右子树的二叉树。

4)若中序序列与层次遍历序列相同,则或为空树,或为任一结点至多只有右子树的二叉树。

(2)由中序序列DBEAFIHCG和后序序列DEBHIFGCA)解析:2.分别给出满足下列条件的二叉树。

(1)前序和中序遍历结果相同;(2)前序和中序遍历结果不相同而是相反;(3)中序和后序遍历结果相同;(4)前序和后序遍历结果相同。

【四川大学2004】【烟台大学2007四、2(8分)】(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:空二叉树满足题目要求,若二叉树非空,则(1)前序和中序遍历结果相同的二叉树是任一结点无左子女; (2)前序和中序遍历结果不相同而是相反的二叉树是任一结点无右子女; (3)中序和后序遍历结果相同的二叉树是任一结点无右子女; (4)前序和后序遍历结果相同的二叉树是只有根结点。

计算机专业基础综合数据结构(线性表)历年真题试卷汇编4

计算机专业基础综合数据结构(线性表)历年真题试卷汇编4(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.静态链表中指针表示的是( )。

【中南大学2003二、2(1分)】(分数:2.00)A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置√D.左链或右链指向的元素的地址解析:2.链表不具有的特点是( )。

【电子科技大学2012一、3(2分)】【福州大学1998一、8(2分)】【南京理工大学2005一、13(1分)】(分数:2.00)A.插入、删除不需要移动元素B.可随机访问任一元素√C.不必事先估计存储空间D.所需空间与线性长度成正比解析:3.在n个结点的线性表的数组实现中,算法的时间复杂性是O(1)的操作是( )。

【哈尔滨工业大学2003二、1(1分)】(分数:2.00)A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)√B.在第i个结点后插入一个新结点(1≤i≤n)C.删除第i个结点(1≤f≤n)D.以上都不对解析:4.(1)静态链表既有顺序存储的优点,又有动态链表的优点。

所以,它存取表中第f个元素的时间与i无关。

(2)静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。

(3)静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。

以上错误的是( )。

【南京理工大学2000一、3(1.5分)】(分数:2.00)A.(1),(2)B.(1) √C.(1),(2),(3)D.(2)解析:5.静态链表与动态链表相比,其缺点是( )。

【北京理工大学2006九、5(1分)】(分数:2.00)A.插入、删除时需移动较多数据B.有可能浪费较多存储空间√C.不能随机存取D.以上都不是解析:解析:静态链表首先要定义一个一维数组空间,每个数组元素有两个分量,一是数据元素的值,二是指针。

指针指向下一个元素在数组中的位置(下标),插入和删除时只需修改指针,不移动数据。

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

计算机专业基础综合数据结构(排序)历年真题试卷汇编5(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是( )。

【2009年全国试题9(2分)】A.3,5,12,8,28,20,15,22,19 √B.3,5,12,19,20,1 5,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,1 5,22,19首先按所给关键字序列画出完全二叉树,关键字3插入结点22的后边。

沿结点3到根的路径调整堆,直到满足堆的定义为止。

2.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。

【2009年全国试题10(2分)】A.起泡排序B.插入排序√C.选择排序D.二路归并排序起泡排序的特点是待排序元素相邻两两比较,逆序交换,每趟有一个最大元素到达底部(或一个最小元素到达顶部);插入排序的特点是先假定第一个元素有序,从第二个元素起,每趟将未排序元素的第一个元素插入的前面有序子文件中;选择排序的特点是第一趟在待排序元素中选最小(或最大)元素和第一个元素交换,第二趟在未排序元素中选次小(或次大)和第二个元素交换;二路归并排序是两两归并,再四四归并,等等。

3.采用递归方式对顺序表进行快速排序。

下列关于递归次数的叙述中,正确的是( )。

【2010年全国试题10(2分)】A.递归次数与初始数据的排列次序无关B.每次划分后,先处理较长的分区可以减少递归次数C.每次划分后,先处理较短的分区可以减少递归次数D.递归次数与每次划分后得到的分区的处理顺序无关√快速排序和数据的初始排列次序相关。

每次划分后,先处理较短分区可以减少递归深度,递归次数和先处理哪个分区无关。

4.对一组数据(2,12,1 6,88,5,10)进行排序,若前三趟排序结果如下:第一趟排序结果:2,12,16,5,10,88 第二趟排序结果:2,12,5,10,16,88 第三趟排序结果:2,5,10,12,16,88则采用的排序方法可能是( )。

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

计算机专业基础综合数据结构(排序)历年真题试卷汇编5(总分:66.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是( )。

【2009年全国试题9(2分)】(分数:2.00)A.3,5,12,8,28,20,15,22,19 √B.3,5,12,19,20,1 5,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,1 5,22,19解析:解析:首先按所给关键字序列画出完全二叉树,关键字3插入结点22的后边。

沿结点3到根的路径调整堆,直到满足堆的定义为止。

2.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。

【2009年全国试题10(2分)】(分数:2.00)A.起泡排序B.插入排序√C.选择排序D.二路归并排序解析:解析:起泡排序的特点是待排序元素相邻两两比较,逆序交换,每趟有一个最大元素到达底部(或一个最小元素到达顶部);插入排序的特点是先假定第一个元素有序,从第二个元素起,每趟将未排序元素的第一个元素插入的前面有序子文件中;选择排序的特点是第一趟在待排序元素中选最小(或最大)元素和第一个元素交换,第二趟在未排序元素中选次小(或次大)和第二个元素交换;二路归并排序是两两归并,再四四归并,等等。

3.采用递归方式对顺序表进行快速排序。

下列关于递归次数的叙述中,正确的是( )。

【2010年全国试题10(2分)】(分数:2.00)A.递归次数与初始数据的排列次序无关B.每次划分后,先处理较长的分区可以减少递归次数C.每次划分后,先处理较短的分区可以减少递归次数D.递归次数与每次划分后得到的分区的处理顺序无关√解析:解析:快速排序和数据的初始排列次序相关。

计算机专业基础综合数据结构排序历年真题试卷汇编4_真题(含答案与解析)-交互

计算机专业基础综合数据结构(排序)历年真题试卷汇编4(总分66, 做题时间90分钟)1. 单项选择题1.在文件“局部有序”或文件长度较小的情况下,最佳内部排序的方法是( )。

[山东大学2001二、2(1分)】SSS_SINGLE_SELA 直接插入排序B 冒泡排序C 简单选择排序D 快速排序分值: 2答案:A2.在排序算法中,每次从未排序的记录中挑出最小(或最大)关键字的记录,加入到已排序记录的末尾,该排序方法是( )。

【中山大学1999一、11(1分)】SSS_SINGLE_SELA 选择B 冒泡C 插入D 堆分值: 2答案:A3.若用冒泡排序方法对序列{10,14,26,29,41,52}从大到小排序,需进行( )次比较。

【南京理工大学1999一、11(4分)】SSS_SINGLE_SELA 3B 10C 15D 25分值: 2答案:C4.采用简单选择排序,比较次数与移动次数分别为( )。

【南京理工大学2000一、18(1.5分)】SSS_SINGLE_SELA O(n),O(logn)B O(logn),O(n*n)C O(n*n),O(n)D O(nlogn),O(n)分值: 2答案:C5.对序列{15,9,7,8,20,一1,4,)用希尔排序方法排序,经一趟后序列变为{15,一1,4,8,20,9,7},则该次采用的增量是( )。

【南京理工大学1999一、15(1分)】SSS_SINGLE_SELA 1B 4C 3D 2分值: 2答案:B6.快速排序在最坏情况下的时间复杂度与下列哪个算法最坏情况下的时间复杂度相同? ( )。

【北京交通大学2006一、7(2分)】SSS_SINGLE_SELA Shell排序B 堆排序C 起泡排序D 基排序分值: 2答案:C7.下列排序方法中,( )在待排序的数据为有序时,花费时间反而最多。

【华中科技大学2007一、8(2分)】SSS_SINGLE_SELA 快速排序B 插入排序C 堆排序D 冒泡排序分值: 2答案:A8.快速排序算法在最好情况下的时间复杂度是( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档