当前位置:问答库>考研试题

2018年中国民航大学计算机科学与技术学院830数据结构与操作系统之数据结构考研核心题库

  摘要

一、填空题

1. 假定查找有序表

【答案】

平均查找次数为

2. 二叉树由_____,_____,_____三个基本单元组成。

【答案】根结点;左子树;右子树

3. 从用户的观点看,文件的逻辑结构通常可以区分为两类:一类是如NdBASE 中数据库文件那样的文件组织结构,称为_____文件; 另一种是诸如用各种文字处理软件编辑成的文本文件,称为_____文件。从文件在存储器上的存放方式来看,文件的物理结构往往可区分为三类,即_____, _____和_____。B+树适用于组织_____的索引结构,m 阶B+树毎个结点至多有_____个儿子,除根结点外每个结点至少有_____个儿子,根结点至少有_____个儿子,有k 个儿子的结点必有_____个关键码。

【答案】数据库;文本;顺序组织;随机组织;链组织;随机组织;m ; ;2;k

4. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的 _____和记录的_____。

【答案】比较;移动

5.

线性表

【答案】(n﹣1)/2

【解析】删除第一个元素需要移动n ﹣1次,以此类推,删除最后一个元素需要移动0次。平均次数为(n﹣l)*n/n/2=(n﹣l)/2。

用数组表示,假定删除表中任一元素的概率相同,则删除一个元。 中每个元素的概率相等,则进行折半查找时的平均查找长度为_____。【解析】折半查找时每个的次数如表所示: 素平均需要移动元素的个数是_____。

6. 求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e

【答案】克鲁斯卡尔

【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。

7. 数据结构是研讨数据的_____和_____以及它们之间的相互关系,并对与这种结构定义相应的_____, 设计出相应的_____。

【答案】逻辑结构;物理结构;操作(运算) ;算法

8. 栈是_____的线性表,其运算遵循_____的原则。

【答案】操作受限(或限定仅在表尾进行插入和删除操作) ;后进先出

9. 在拓扑分类中,拓扑序列的最后一个顶点必定是_____的顶点。

【答案】出度为0

【解析】如果最后一个顶点的出度不为0, 则必定还有顶点存在,与题目所说的最后一个顶点矛盾,所有最后一个顶点的出度必定为零。

10.一个字符串中_____称为该串的子串。

【答案】任意个连续的字符组成的子序列

11.设数组

址为_____。

【答案】9174;8788

【解析】设一个元素的行标为i ,列标为j 。若以行序为主存储顺序,则它的存储地址为2000+((i﹣l)*80+j ﹣

1) 2。若以列序为主存储顺序,则它的存储地址为2000+((j﹣l)*50+i ﹣l)*2。

12.当两个栈共享一存储区时,栈利用一维数组stack(1,,1) 表示,两栈顶指针为top[l]与top[2],则当栈1空时,top[l]为_____,栈2空时,top[2]为_____,栈满时为_____。

【答案】0;n+1;top[l]+l=top[2]

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为_____;若以列序为主序顺序存储,则元素a[45,68]的存储地

13.设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。在下面的算法中,free_tree(T)在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点

,首先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下

处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返NULL ; 否则返回根结点的地址。

【答案】

14.已知如下程序段:

语句1执行的时间复杂度为_____:语句2执行的时间复杂度为_____:语句3执行的时间复杂度为_____:语句4执行的时间复杂度为_____。

【答案】(1)n+1

(2)n

(3)n(n+3)/2

(4)n(n+l)/2

【解析】语s 句1执行到不符合条件情况下,执行了n +1次。当语句1不符合条件了是不会执行语句2的,所以语句2被执行了n 次。语句3每次都要执行到不符合条件,故为2+3+4...... +(n+l) 加起来就是n(n+3)/2。语句3不符合条件了是不会执行语句4的。所以语句4被执行了1+2+3...... +n 即n(n+l)/2。