洛阳理工学院数据结构试题_第1页
洛阳理工学院数据结构试题_第2页
洛阳理工学院数据结构试题_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、判断(每小题1分,共10分)1 数据的存储结构是数据的逻辑结构的存储映象,不仅要存储数据元素的 值,还要存储元素之间的相互关系。2用顺序表来存储线性表时,不需要另外开辟空间来保存数据元素之间的 相互关系。3 完全二叉树的叶子结点只能出现在最后一层上。4 折半查找方法要求待查表必须是有序的顺序表。5在有向图G中, 2 ,V 1 和 1,V 2 是两条不同的边。6图的最小生成树是唯一的。7从循环单链表的某一结点出发,只能找到它的后继结点,不能找到它的 前趋结点。8 在单链表中,头结点是必不可少的。9 对快速排序来说,初始序列为正序和反序,都是最坏情况。10广义表是特殊的线性表。二、选择(每题1

2、分,共15分)1 .设栈S和队列Q的初始状态均为空,元素abcdefg依次进入栈S。 若每个元素出栈后立即进入队列 Q ,且7个元素出队的顺序是bdcfeag ,则 栈S的容量至少是()。A. 1B. 2C . 3D . 4C(用虚线表示线索),符合后序线索树定义的是(3. 已知广义表 A= ( a,b ) ,(c,d),则 head(A)等于()。A. (a,b)B. (a,b)C. a,bD. a4. 设字符串 s仁'ABCDEFG',s2=卩QRST',则运算 s=strcat(strsub(s1,2,strle n(s2),strsub (s1,strle n(

3、s2),2)后结果为()。A. BCQRB. BCDEFC. BCDEFGD. BCDEFEF5. 具有8个顶点的连通图的深度优先生成树,其边数为()。A. 8B. 9C. 7D. 66 .算法分析的两个主要方面是()。A.空间复杂性和时间复杂性C可读性和文档性B .正确性和简明性D.数据复杂性和程序复杂性7. 下列四种排序中()的空间复杂度最大。A.插入排序B .冒泡排序C .堆排序D .归并排序8. 下列关于无向连通图特性的叙述中,正确的是()。I .所有顶点的度之和为偶数II .边数大于顶点个数减1 III .至少有一个顶点的度为1A.只有IB.只有II C . I和IID. I 和 I

4、II9.在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则数T的叶结点个数是()。A. 41B . 82C. 113D . 12210 .对下图进行拓扑排序,可以得到不同的拓扑序列的个数是( )A . 4A . 4B . 512 .对一组数据(2 , 12 , 16 趟排序结果如下:第一趟:2 ,12 ,16 ,10 ,16 ,88 第三趟:2 ,则采用的排序方法可能是() A.起泡排序13 .设有二维数组 A5060 基地址为200,则元素A1825B.希尔排序C归并排序D.基数排序 按行优先顺序存储A .3700B . 4376C.

5、390014 .队列操作的原则是()。A .先进先出B.后进先出C.只能进行插入D .15 .已知关键序列5 , 8,12 ,19 , 28 , 20,15堆(最小堆),插入关键字3,调整后得到的小根堆是A .3,5, 12,8 ,28,20,15 , 22 ,19B .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三、填空(每空1分,共25分)D. 4620只能进行删除,22是小根,其元素长度为4字节, 的存储地址为()。11 .已知一个长度

6、为16的顺序表L,其元素按关键字有序排列,若采用 折半查找法查找一个不存在的元素,则比较次数最多的是()C . 6D . 7,88 , 5 , 10 )进行排序,若前三10 ,88 第二趟:2 , 12 ,5 ,10 , 12 , 16 ,88I 在一个有向图的邻接表中,一个顶点的边表中结点的个数等于这个顶点的(),在逆邻接表中,一个顶点的边表中结点的个数等于这个顶点的()。2四类基本逻辑结构是集合、()、()、图状结构。3当一个AOV网用邻接表表示时,可按下列方法进行拓扑排序。(1)查邻接表中入度为()的顶点,并进栈;(2)若栈不空,则输出栈顶元素Vj ,并退栈;查Vj的直接后继Vk, 对V

7、k入度处理,处理方法是();(3)若栈空时,输出顶点数小于图的顶点数,说明有(),否则拓扑排序完 成。4 空格串是指(),其长度等于()。5. 我们学过的构造散列函数的方法有()、平方取中法、分段叠加法、()、 伪随机数法。6 设一棵完全二叉树中有21个结点,如果按照从上到下、从左到右的顺 序从1开始顺序编号,则编号为8的结点的双亲结点的编号是(),编号为 8的结点的左孩子结点的编号是()。7 顺序存储结构是通过()表示兀素之间的关系的;链式存储结构是通()表示元素之间的关系的。8仅允许在表的一端进行插入和删除运算的线性表被称为()。9在分块查找中虽不要求整个表有序,但要求表()有序。10根据

8、二叉树的定义可知二叉树共有()种不同的形态。II 设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该 二叉链表中共有()个指针域,()个空指针域。12.用Dijkstra算法求某一顶点到其余各顶点间的最短路径是按路径长度()的次序来得到最短路径的。13在散列法中要解决两个问题:构造一个()的散列函数、给出解决() 的方法。14.在顺序队列中做入队运算时,应先判别队列是否();在做出队运算时, 应先判别队列是否()。四、简答题(每题5分,共30分)1设完全二叉树的顺序存储结构中存储数据 ABCDE,如图,要求给出该二 叉树的链式存储结构并给出该二叉树的前序、中序和后序遍历序列。1 23

9、45ABCDE2 设给定一个权值集合 W=(3,5 ,7 ,9,11),要求根据给定的权值集合构造一棵哈夫曼树并计算哈夫曼树的带权路径长度WPL。3设无向图G (如下图所示),要求给出该图的深度优先和广度优先遍历 的序列并给出该图的最小生成树。14 设一组初始记录关键字集合为 (25 , 10 , 8 , 27 , 32 , 68), 散列表的长度为8,散列函数H(k)=k mod 7 ,要求用线性探测法作为解决冲 突的方法设计哈希表。并计算该表查找成功的平均查找长度和查找不成功的平均 查找长度。5. 已知一棵树如下图所示,要求将该树转化为二叉树。6. 已知关键字集合: 46 , 55 , 1

10、3 , 42 , 94 , 17 , 05 , 7 0 ,用冒泡排序从小到大排序,分别写出第一趟、第二趟、第三趟排序结束时 的序列,该排序方法稳定吗?五、算法设计题(每题10分,共20分)1. 设有一个由正整数组成的无序(向后)单链表,编写完成下列功能的算 法:(1) 找出最小值结点,且打印该数值;(2) 若该数值是偶数,则将其直接后继结点删除; 单链表类型描述:typedef struct Node ElemType data ;struct Node* n ext;Node, *L in kList;2. 已知一个二叉树采用二叉链表存放,写一算法,统计出二叉树中叶子结 点的个数。二叉链表类

11、型描述为:typedef struct Node DataType data;struct Node * Ichild;struct Node * rchild;BiTNode, *BiTree;一、判断(每小题1分,共10分)1 V 2 V 3 X 4 V 5 V 6 X 7 X 8 X 9 V 10 V二、选择(每题1分,共15分)I. C 2. D 3. A 4. D 5. C6. A 7. D 8. A 9. B 10. AII. B 12. A 13. B 14. A 15. A三、填空(每空1分,共25分)1 .出度 入度2 .线性结构树状结构3. 0 Vk入度减1,若为0进栈环(

12、回路)4. 由空格组成的串空格的个数5. 数字分析法除留余数法6. 4 167. 位置相邻指针8. 栈9. 块间10. 511. 2n n+112. 递增13. 均匀冲突14. 满空四、简答题(每题5分,共30分)中序序列:DBEAC、后序序列:DEBCA、前序序列:ABDEC、2.哈夫曼树:WPL= ( 7*2+3*3+5*3+9*2+11*2) =78( 1 分)3.深度优先遍历序列:123,4,6,5(不唯一)广度优先遍历序列:1,2,3,4,5,6 (不唯一) 最小生成树:4.01234567310253227111213查找成功的平均查找长度为:(1*4+2+3 ) 16=96查找不

13、成功的平均查找长度为:(1+2+1+6+5+4+3 ) /7=22/75.转化后的二叉树:6. 第一趟:46 13 42 55 17 05 70 94第二趟:13 42 46 17 05 55 70 94第三趟:13 42 17 05 46 55 70 94该排序方法稳定五、算法设计题(每题10分,共20分)本题无统一答案。每道题编写算法时完成题目功能即可1.参考答案:void fun(Lin kList head) int min;Node * p , * q;if(p!=NULL) p=head;min=p->data;while(p!=NULL)if( min >p->data) min=p->data; q=p;p=p->n ext;printf(“min=%dn” ,min);if(mi n%2=0 && q-> next!=NULL) p=q->n ext;q->n ext=p->n ext;free(p);2 参考答案:/*node为保存叶子结点数目的全局变量,调用之前初始化为0 */void Cou ntNode(Bi nTree root) /*求二叉树中叶子结点个数 */if (root!=NULL) Count

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论