计算机专业基础综合数据结构(排序)-试卷2

合集下载

数据结构试卷带答案

数据结构试卷带答案

数据结构试卷带答案数据结构试卷(一)一、选择题(20分)1.组成数据的基本单位是( 1.C )。

(A) 数据项(B) 数据类型(C) 数据元素(D) 数据变量2.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是( C )。

(A) 线性结构(B) 树型结构(C) 图型结构(D) 集合3.数组的逻辑结构不同于下列(D)的逻辑结构。

(A) 线性表(B) 栈(C) 队列(D) 树4.二叉树中第i(i≥1)层上的结点数最多有(C)个。

(A) 2i (B) 2i(C) 2i-1(D) 2i-15.设指针变量p指向单链表结点A,则删除结点A的后继结点B 需要的操作为(.A )。

(A) p->next=p->next->next (B) p=p->next(C) p=p->next->next (D) p->next=p6.设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(.C )。

(A) 6 (B) 4 (C) 3 (D) 27.将10阶对称矩阵压缩存储到一维数组A中,则数组A的长度最少为(C )。

(A) 100 (B) 40 (C) 55 (D) 808.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数数为(8.B(A) 3 (B) 4 (C) 5 (D) 19.根据二叉树的定义可知二叉树共有(B)种不同的形态。

(A) 4 (B) 5 (C) 6 (D) 710.设有以下四种排序方法,则(B )的空间复杂度最大。

(A) 冒泡排序(B) 快速排序(C) 堆排序(D) 希尔排序二、填空题(30分)1.设顺序循环队列Q[0:m-1]的队头指针和队尾指针分别为F和R,其中队头指针F指向当前队头元素的前一个位置,队尾指针R指向当前队尾元素所在的位置,则出队列的语句为F =____________;。

计算机专业基础综合数据结构(排序)模拟试卷2(题后含答案及解析)

计算机专业基础综合数据结构(排序)模拟试卷2(题后含答案及解析)

计算机专业基础综合数据结构(排序)模拟试卷2(题后含答案及解析)题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

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

A.O(n),O(log2n)B.O(log2n),O(n2)C.O(n2),O(n)D.O(nlog2n),O(n)正确答案:C解析:简单选择排序的关键字比较次数KCN与对象的初始排列无关。

第i 趟选择具有最小关键字对象所需的比较次数总是n—i—1次(此处假定整个待排序对象序列有n个对象)。

因此,总的关键字比较次数为:最坏情况是每一趟都要进行交换,总的对象移动次数为RMN=3(n一1)。

知识模块:数据结构2.就排序算法所用的辅助空间而言,堆排序、快速排序、归并排序的关系是( )。

A.堆排序<快速排序<归并排序B.堆排序<归并排序<快速排序C.堆排序>归并排序>快速排序D.堆排序>快速排序>归并排序正确答案:A解析:此题考查的知识点为排序的空间复杂性。

堆排序辅助空间为O(1),快速排序为O(log2n),归并排序为O(n)。

应选A。

知识模块:数据结构3.一组记录的关键码为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。

A.16,25,35,48,23,40,79,82,36,72B.16,25,35,48,79,82,23,36,40,72C.16,25,48,35,79,82,23,36,40,72D.16,25,35,48,79,23,36,40,72,82正确答案:A解析:对于(25,48,16,35,79,82,23,40,36,72),(25,48)和(16,35)归并的结果为(16,25,35,48)。

(79,82)和(23,40)归并后的结果为(23,40,79,82),余下的两个记录不归并,所以一趟归并后的结果为(16,25,35,48,23,40,79,82,36,72),本题答案为A。

(完整版)数据结构试题包含答案

(完整版)数据结构试题包含答案

一、一、单选题(每题2 分,共20分)1. 1. 栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有共同点2. 2. 用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3. 3. 以下数据结构中哪一个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4. 4. 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965. 5. 树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6. 6. 二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-17.7. 若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.8. 对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.9. 对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.10. 设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

A.5B.6C.7D.8二、二、填空题(每空1分,共26分)1. 1. 通常从四个方面评价算法的质量:_________、_________、_________和_________。

计算机学科专业基础综合数据结构-图(二)_真题-无答案

计算机学科专业基础综合数据结构-图(二)_真题-无答案

计算机学科专业基础综合数据结构-图(二)(总分100,考试时间90分钟)一、单项选择题(下列每题给出的4个选项中,只有一个最符合试题要求)1. 具有6个顶点的无向图至少应有______条边才能确保是一个连通图。

A.5 B.6 C.7 D.82. 设G是一个非连通无向图,有15条边,则该图至少有______个顶点。

A.5 B.6 C.7 D.83. 下列关于无向连通图特性的叙述中,正确的是______。

①所有顶点的度之和为偶数②边数大于顶点个数减1③至少有一个顶点的度为1A.只有① B.只有② C.①和② D.①和③4. 对于具有n(n>1)个顶点的强连通图,其有向边的条数至少是______。

A.n+1B.nC.n-1D.n-25. 下列有关图的说法中正确的是______。

A.在图结构中,顶点不可以没有任何前驱和后继 B.具有n个顶点的无向图最多有n(n-1)条边,最少有n-1条边 C.在无向图中,边的条数是结点度数之和 D.在有向图中,各顶点的入度之和等于各顶点的出度之和6. 对于一个具有n个顶点和e条边的无向图,若采用邻接矩阵表示,则该矩阵大小是______,矩阵中非零元素的个数是2e。

A.n B.(n-1)2 C.n-1 D.n27. 无向图的邻接矩阵是一个______。

A.对称矩阵 B.零矩阵 C.上三角矩阵 D.对角矩阵8. 从邻接矩阵可知,该图共有______个顶点。

如果是有向图,该图共有4条有向边;如果是无向图,则共有2条边。

A.9 B.3 C.6 D.1 E.5 F.4 G.2 H.09. 下列说法中正确的是______。

A.一个图的邻接矩阵表示是唯一的,邻接表表示也唯一 B.一个图的邻接矩阵表示是唯一的,邻接表表示不唯一 C.一个图的邻接矩阵表示不唯一,邻接表表示唯一 D.一个图的邻接矩阵表示不唯一,邻接表表示也不唯一10. 用邻接表存储图所用的空间大小______。

A.与图的顶点数和边数都有关 B.只与图的边数有关 C.只与图的顶点数有关 D.与边数的二次方有关11. 采用邻接表存储的图的深度优先搜索算法类似于二叉树的______,广度优先搜索算法类似于二叉树的层次序遍历。

数据结构试卷试卷及答案5套

数据结构试卷试卷及答案5套

数据结构试卷试1一、解释下列术语(每小题4分,共20分)1. 头指针2. 二叉排序树的定义3. 头结点4. 数据的逻辑结构5. 排序方法的稳定性二、选择填空(每小题2分,共20分)(在每小题的4 个备选答案中,选出一个正确的答案,多选少选均不得分)1. 在一个长度为n的顺序表中,在第i个元素(1≤i≤n+1)之前插入一个新元素时顺向后移动( ) 个元素A.n-iB. n-i+1C. n-i-1D.i2. 某个栈的输入序列为1,2,3,4,下面的四个序列中( )不可能是它的输出序列A.1,2,3,4B.2,3,4,1C. 4,3,2,1D.3,4, 1,23. 对二叉排序进行( )遍历可以得到结点的排序序列A.前序B.中序C. 后序D.按层次4.有64个结点的完全二叉树的深度为()。

A 8B 7C 6D 55.折半查找法的时间复杂度是( )A.(n2)B.O(n)C. O(n㏒n)D. O(㏒n)6.A(1:5,1:6)的每个元素占5个单元,将其按行优先次序储存在起始地址为1000的连续的内存单元中,则元素A[5,5]的地址为()。

A 1140B 1145C 1120D 11257. 有n个叶子结点的哈夫曼树的结点总数为()。

A 不确定B 2nC 2n+1D 2n-18. 已知某二叉树的后序遍历序列是dabec, 中序遍历序列是debac, 则它的前遍历序列是()。

A acbedB decabC deabcD cedba9.若循环队列用数组A(0:m-1)存放其元素值,已知其头、尾指针分别是f和r,则当前队列中的元素个数是()。

A (r-f+m)mod mB r-f+1C r-f-1D r-f10. 一个二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树(树中结点个数大于1)。

A 空或只有一个结点B 高度等于其结点数C 任一结点无左孩子 D任一结点无右孩子三,判断题(每小题2分,对的打√,错的打×,共10分)1.若图G的最小生成树不唯一,则G的边数一定多于n-1,并且权值最小的边有多条(其中n为G的顶点数)。

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9.doc

[考研类试卷]计算机专业基础综合数据结构(排序)历年真题试卷汇编9一、综合题1 如果只要找出一个具有n个元素的集合的第k(1≤k≤n)个最小元素,你所学过的排序方法中哪种最适合?给出实现的思想。

【北方交通大学1998六(10分)】2 设结点个数为n,请问采用堆排序法进行排序,其时间复杂性是多少?请以大O 形式给出,并给出证明。

【上海交通大学2004四(10分)】2 已知待排序的序列为(503,87,512,6l,908,170,897,275,653,462),试完成下列各题。

3 根据以上序列建立一个堆(画出第一步和最后堆的结果图),希望先输出最小值。

4 输出最小值后,如何得到次小值(并画出相应结果图)。

【同济大学2001二(10分)】4 试将关键字序列(56,塾,55,67,46,58,18,88)5 调整成一个初始大顶堆,用二叉树形式说明调整过程;6 简要说明如何从初始大顶堆开始进行排序。

【华中科技大学2007四、24(10分)】7 一组记录的关键字为(50,79,8,56,32,41,85),给出利用重建堆方法建立的初始堆(堆顶最大),并给出堆排序的过程。

【吉林大学2007二、5(4分)】8 已知序列{503,87,512,61,908,170,897,275,653,462)将其调整为堆(大堆顶,即K i≥K2i,K i≥K2i+1)。

【中国海洋大学2006一、4(8分)】9 给定关键字序列(20,18,9,86,72,12,27,40)。

试将该序列建成小根堆。

10 判断下面的每个结点序列是否表示一个堆,如果不是堆,请把它调整成堆。

①100,90,80,60,85,75,20,25,10,70,65,50②100,70,50,20,90,75,60,25,10,85,65,80【复旦大学1997二(8分)】11 全国有10000人参加物理竞赛,只录取成绩优异的前10名,并将他们从高分到低分输出。

数据结构考试试题二及参考答案

数据结构考试试题二及参考答案

课程名称: 数据结构 考试时间:姓名: 班级: 学号:一、选择题(每题2分,共20分)( )1、 链表适用于_______查找A) 顺序 B) 二分法 C) 顺序,也能二分法 D) 随机( )2、试利用Dijkstra 算法求图中从顶点a 到其他各顶点间的最短路径A) a,c,f,e,d,g,bB) a,c,e,f,d,g,bC) a,c,f,d,e,g,bD) a,c,f,d,e,b,g(有问题)( )3、栈中元素的进出原则是A )先进先出B )后进先出C )栈空则进D )栈满则出 ( )4、已知图的邻接矩阵如下,根据算法思想,则从顶点0出发按广度优先遍历的结点序列是_______。

(有问题)A) 0 2 4 3 6 5 1 B)0 1 2 3 4 5 6 C) 0 4 2 3 1 5 6 D) 0 1 3 4 2 5 6( )5、用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman )树的带权路径长度是。

A )32B )33C )34D )15( )6、给定二叉树的两种遍历序列,分别是:先序遍历序列:D ,A ,C ,E ,B ,H ,F ,G ,I ; 中序遍历序列:D ,C ,B ,E ,H ,A ,G ,I ,F ,其后序遍历序 列为:A) BHECGIFAD B) BHECIGADFC) BHECIGFAD D) CHEBIGADF( )7、有8个结点的无向图最多有 条边。

A )14B )28C )56D )112⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡0100011101100001011010110011001000110010011011110()8、折半查找有序表(4,6,10,12,20,30,50,70,88,100)。

若查找表中元素58,则它将依次与表中比较大小,查找结果是失败。

A)20,70,30,50 B)30,88,70,50C)20,50 D)30,88,50()9、一组记录的排序码为(46, 79, 56, 38, 40, 84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为A)38, 40, 46, 56, 79, 84 B)40, 38, 46 , 79, 56, 84C)40, 38,46, 56, 79, 84 D)40, 38, 46, 84, 56, 79()10、排序序列中挑选元素,并将其依次插入已排序序列(初始时为空)的一端的方法,称为A)希尔排序B)归并排序C)插入排序D)选择排序二、填空题(每空2分,共20分)1、在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续结点数可以有。

计算机专业基础综合数据结构(树与二叉树)模拟试卷2(题后含答案及解析)

计算机专业基础综合数据结构(树与二叉树)模拟试卷2(题后含答案及解析)

计算机专业基础综合数据结构(树与二叉树)模拟试卷2(题后含答案及解析)题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

1.设树T的度为4,其中度为1、2、3和4的结点个数分别为4、1、1、1,则T中的叶子数为( )。

A.10B.11C.9D.7正确答案:D解析:根据题中条件可知,1×4+2×1+3+4+1=4+1+1+1+n0,由此可以得出:n0=1×4+2×1+3+4+1一(4+1+1+1)=14—7=7. 知识模块:数据结构2.用下列元素序列(22,8,62,35,48)构造平衡二叉树,当插入( )时,会出现不平衡的现象。

A.22B.35C.48D.62正确答案:C解析:由题中所给的结点序列构造二叉排序树的过程如下图:当插入48后,首次出现不平衡子树,虚线框内即为最小不平衡子树。

知识模块:数据结构3.下面的算法实现了将二叉树中每一个结点的左右子树互换。

addQ(Q,bt)为进队的函数,delQ(Q)为出队的函数,empty(Q)为判别队列是否为空的函数,空白处应填的内容是( )。

typedef struct node{ int data;struct node*lchild,*rchild;}btnode;void exchange(btnode*bt){ btnode*p,*q;if(bt){ addQ(Q,bt);while(!EMPTY(Q)){ p=delQ(Q);q=p->rchild;p一>rchild=p一>lchild;( (1) )=q;if(p-&gt;lchild) ( (2) );if(p->rchild)addQ(Q,p->rchild);} }} A.p->lchild,delQ(Q,p一>lchild)B.p->rchild,delQ(Q,p->lchild)C.p->lchild,addQ(Q,p->lchild)D.p->rchild,addQ(Q,p->lchild)正确答案:C 涉及知识点:数据结构4.已知有一棵二叉树,其高度为n,并且有且只有n个结点,那么二叉树的树形有( )种。

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

计算机专业基础综合数据结构(排序)-试卷2(总分:56.00,做题时间:90分钟)一、单项选择题(总题数:16,分数:32.00)1.单项选择题1-40小题。

下列每题给出的四个选项中,只有一个选项是最符合题目要求的。

(分数:2.00)__________________________________________________________________________________________解析:2.采用简单选择排序,比较次数与移动次数分别为( )。

(分数:2.00)A.O(n),O(log 2 n)B.O(log 2 n),O(n 2 )C.O(n 2 ),O(n) √D.O(nlog 2 n),O(n)解析:解析:简单选择排序的关键字比较次数KCN与对象的初始排列无关。

第i趟选择具有最小关键字对象所需的比较次数总是n—i—1次(此处假定整个待排序对象序列有n个对象)。

因此,总的关键字比较次最坏情况是每一趟都要进行交换,总的对象移动次数为RMN=3(n一1)。

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

(分数:2.00)A.堆排序<快速排序<归并排序√B.堆排序<归并排序<快速排序C.堆排序>归并排序>快速排序D.堆排序>快速排序>归并排序解析:解析:此题考查的知识点为排序的空间复杂性。

堆排序辅助空间为O(1),快速排序为O(log 2 n),归并排序为O(n)。

应选A。

4.一组记录的关键码为(25,48,16,35,79,82,23,40,36,72),其中,含有5个长度为2的有序表,按归并排序的方法对该序列进行一趟归并后的结果为( )。

(分数:2.00)A.16,25,35,48,23,40,79,82,36,72 √B.16,25,35,48,79,82,23,36,40,72C.16,25,48,35,79,82,23,36,40,72D.16,25,35,48,79,23,36,40,72,82解析:解析:对于(25,48,16,35,79,82,23,40,36,72),(25,48)和(16,35)归并的结果为(16,25,35,48)。

(79,82)和(23,40)归并后的结果为(23,40,79,82),余下的两个记录不归并,所以一趟归并后的结果为(16,25,35,48,23,40,79,82,36,72),本题答案为A。

5.已知10个数据元素为(54,28,16,34,73,62,95,60,26,43),对该序列按从小到大排序,经过一趟冒泡排序后的序列为( )。

(分数:2.00)A.16,28,34,54,73,62,60,26,43,95B.28,16,34,54,62,73,60,26,43,95 √C.28,16,34,54,62,60,73,26,43,95D.16,28,34,54,62,60,73,26,43,95解析:解析:冒泡排序每趟经过比较、交换,从无序区中产生一个最大的元素,所以选B。

6.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,元素序列的变化情况如下: (1)25,84,21,47,15,27,68,35,20 (2)20,15,21,25,47,27,68,35,84 (3)15,20,21,25,35,27,47,68,84 (4)15,20,21,25,27,35,47,68,84 其所采用的排序方法是( )。

(分数:2.00)A.直接选择排序√B.希尔排序C.归并排序D.快速排序解析:解析:可以看到,每趟从无序区中找出一个最大的元素定位,所以答案为A。

7.在对一组记录(50,40,95,20,15,70,60,45,80)进行直接插入排序时,当把第7个记录60插入到有序表时,为寻找插入位置需比较( )次。

(分数:2.00)A.1B.2C.3 √D.4解析:解析:第6趟的结果为(15,20,40,50,70,95,60,45,80),此时插入60,要与95、70和50进行比较,共比较3次,本题答案为C。

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

(分数:2.00)A.N √B.2N一1C.2ND.N一1解析:解析:此题考查的知识点是归并排序思想。

当第一个有序表中所有的元素都小于第二个表中元素,或者都大于第二个表中元素时,比较次数最少为N。

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

(分数:2.00)A.O(nlog 2 n)B.O(nlog 2 k) √C.O(klog 2 n)D.O(klog 2 k)解析:解析:此题考查的知识点是分块排序的思想。

因组与组之间已有序,故将n/k个组分别排序即可,基于比较的排序方法每组的时间下界为O(klog 2k)。

可以用二叉树分治形式描述,最好的情况是树的高度为log 2 k。

全部时间下界为O(nlog 2 k)。

应选B。

10.已知关键序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后得到的小根堆是( )。

(分数:2.00)A.3,5,12,8,28,20,15,22,19 √B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,19整后的小根堆为3,5,12,8,28,20,15,22,19。

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

(分数:2.00)A.O(n)B.O(log 2 n) √C.O(nlog 2 n)D.O(n 2 )解析:解析:此题考查的知识点是归并排序。

第1遍归并的子序列长度为2 0,第2遍为2 1,…,第i 遍为2 i-1,所以由2 i-1≥n知,对n个记录的数据集合,总共需要归并log 2 n次。

应选B。

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

(分数:2.00)A.一1,4,8,9,20,7,15,7B.一1,7,15,7,4,8,20,9C.一1,4,7,8,20,15,7,9 √D.A、B、C均不对解析:解析:此题考查的知识点是堆排序。

应选C。

13.基于比较方法的n个数据的内部排序,最坏情况下的时间复杂度能达到的最好下界是( )。

(分数:2.00)A.O(nlog 2 n) √B.O(log 2 n)C.O(n)D.D(n 2 )解析:解析:此题考查的知识点是各类排序的效率。

理论上可以证明,对于基于关键字之间比较的分类,无论用什么方法都至少需要进行log 2 (n!)次比较。

由Stirling公式可知,log 2 (n!)=nlog 2 n一1.44n+O(log 2 n)。

所以基于关键字比较的分类时间的下界是O(nlog 2 n)。

因此不存在时间复杂性低于此下界的基于关键字比较的分类。

应选A。

14.以下排序方法中,稳定的排序方法是( )。

(分数:2.00)A.直接插入排序√B.直接选择排序C.堆排序D.基数排序解析:解析:下表为各种排序方法的性能比较。

由表可知,本题答案为A15.在对一组记录(50,40,95,20,15,70,60,45,80)进行希尔排序时,假定d 0=9,d 1=4,d 2=2,d 3 =1,则第二趟排序结束后前4条记录为( )。

(分数:2.00)A.(50,20,15,70)B.(60,45,80,50)C.(15,20,50,40) √D.(15,20,80,70)解析:解析:t=3,d 0 =9,d 1 =4,d 2 =2,d 3 =1,第1趟(d 1 =4)后的结果为(15,40,60,20,50,70,95,45,80),第2趟(d 2=2)后的结果为(15,20,50,40,60,45,80,70,95),本题答案为(15,20,50,40)。

16.在归并排序中,若待排序记录的个数为20,则共需要进行( )趟归并,在第三趟归并中,是把长度为( )的有序表归并为长度为( )的有序表。

(分数:2.00)A.5,4,8 √B.6,3,9C.7,4,3D.3,8,2解析:解析:n=20,共需进行[log 2 n]=5趟归并,第1趟归并后成为10个有序表,第2趟归并后成为5个有序表(每个长度为4),第3趟归并将长度为4个的有序表归并为长度为8的有序表,本题答案为:5,4,8.二、综合应用题(总题数:12,分数:24.00)17.综合应用题41-47小题。

(分数:2.00)__________________________________________________________________________________________ 解析:18.已知关键字序列(K 1,K 2,K 3,…,K n-1 )是大根堆。

试写出一算法将(K 1,K 2,K 3,…,K n-1,K n )调整为大根堆,并利用调整算法写一个建大根堆的算法。

(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:void sift(RecType R[],int n){ //把R[n]调成大堆int j=n;R[0]=R[j];for(i=n /2;i>=1;i=i/2) if(R[0].key>R[i].key){R[j]=R[i];j=i;} else break;R[j]=R[0];} void HeapBuilder(RecType R[],int n){ for(i=2;i<=n;i++)sift(R,i); } 提示:此题考查的知识点是堆的插入算法。

从第n个记录开始依次与其双亲(n/2)比较,若大于双亲则交换,继而与其双亲的双亲比较,以此类推直到根为止。

)解析:19.最小最大堆(min max Heap)是一种特定的堆,其最小层和最大层交替出现,根总是处于最小层。

最小最大堆中的任一结点的关键字值总是在以它为根的子树中的所有元素中最小(或最大)。

如图所示为一最小最(1)画出在图中插入关键字为5的结点后的最小最大堆。

(2)画出在图中插入关键字为80的结点后的最小最大堆。

(3)编写一算法实现最小最大堆的插入功能。

假定最小最大堆存放在数组中,关键字为整数。

(分数:2.00)__________________________________________________________________________________________ 正确答案:(正确答案:此题考查的知识点是堆的算法。

相关文档
最新文档