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

2018年浙江大学878计算机学科专业基础(含程序设计基础(C) 、数据结构)之数据结构考研基础五套测试题

  摘要

一、填空题

1. 二叉树的前序序列和中序序列相同的条件是_____。

【答案】空树或任何结点至多只有右子树的二叉树

【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。

2. 顺序栈用存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。

【答案】if(top!=n)data[++top]=x ;

【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。

3. 检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有

检索和_____检索。

【答案】关键字;记录号;记录号;顺序;直接

4. 在n 个顶点的非空无向图中,最多有_____个连通分量。

【答案】n

【解析】当n 个顶点之间没有边,都是孤立的顶点时,有n 个连通分量。

5. 设二维数组A 的行和列的下标范围分别为[0:8]和[0:10],每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为b+50处的元素为_____。

【答案】A[2][3]

【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是(ll*i+j +l ﹣l)*2+b 。当其值为b +50时,则i =2,j =3。

6. 克鲁斯卡尔算法的时间复杂度为_____,它对_____图较为适合。

【答案】

;边稀疏

7. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4;2

8. 阅读下列程序,指出其功能,并写出空格处应填上的语句。

【答案】

【解析】本题是在哈希表中插入值为item 的元素,如该元素已在哈希表中,报告出错。

9. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树

【解析】二叉排序树(binary sort tree)或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

10.实现字符串拷贝的函数strcpv 为:

(_____)

【答案】s++=*t++或(*s++=*t++)!='\0’

二、单项选择题

11.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。

A. 顺序表 B. 双链表

C. 带头结点的双循环链表 D. 单循环链表 【答案】A

【解析】线性表采用顺序表,便于进行存取任一指定序号的元素;线性表采用链表,便于进 行插入和删除操作。但该题是在最后进行插入和删除运算,所以利用顺序表存储方式最节省时间。

12.n 个结点的正则二叉树中有每个结点的度或者为0或者为2的二叉树称为正则二叉树。( )个叶子。

A. B. C. D.

【答案】D

【解析】二叉树结点总数n =n 0+n 1+n 2(n0,n 1,n 2分别代表度为0,度为1,度为2的结点数) 。又在非空二叉树中:n 0=n 2+l ,且本题所给树为正则二叉树,n 1=0,所以n =2*n0﹣l ,因此n 1=(n+1)/2。

13.已知一个长度为16的顺序表L , 其元素按关键字有序排列。若采用折半查找法查找一个L 中不存在的元素, 则关键字的比较次数最多是( )。

A.4 B.5 C.6 D.7

【答案】B

【解析】

折半查找法在查找不成功时和给定值进行比较的关键字个数最多为题中, n=16, 故比较次数最多为5。

14.下列二叉排序树中,满足平衡二叉树定义的是( ).

, 在本

A.

B.

C.