2017年湖南师范大学数学与计算机科学学院967C语言程序设计和数据结构[专业硕士]之数据结构考研题库
● 摘要
一、填空题
1. 设m 、n 均为自然数,m 可表示为一些不超过n 的自然数之和,f (m , n )为这种表示方式的
数目。例f (5, 3)=5,有5种表示方式:3+2, 3+1+1,2+2+1,2+1+1+1, 1+1+1+1+1。
①以下是该函数的程序段,请将未完成的部分填入,使之完整。
②执行程序,f (6,4)=_____。
【答案】①1; 1; f (m ,n -1); n ②9
2. 如某二叉树有20个叶结点,有30个结点仅有一个孩子,则该二叉树的总结点数为_____。
【答案】69
【解析】二叉树叶结点数为20, 则度为2的结点数为19, 所以总的结点数为20+19+30=69。
3. 设广义表
则是_____tail(L )是_____;L 的长度是_____;深度是_____。
;;2;2 【答案】( )(( ))
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
4. 文件由_____组成;记录由_____组成。
【答案】记录;数据项
5. 顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_____次;当使用监视哨时,若查找失败,则比较关键字的次数为_____。 【答案】
视哨。
第 2 页,共 30 页 【解析】最多的情况就是把整个表遍历了一遍。使用监视哨时,需要多一个存储空间来存监
6. G 是一个非连通无向图,共有28条边,则该图至少有_____个顶点。
【答案】9
【解析】求该非连通无向图的最少顶点数,则该图为一个孤立的顶点和一个完全连通图。
7. 以下是用类C 语言写山的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶
head 为双向循坏链表的头指针。 指针为top , P , t 为辅助指针,试填充算法中的空格,使算法完整。
void leafchain(BiTree Abt)
{p={BiTree)malloc (sizeof (BiTNode ));
If (!p ){print£(“OVERFLOW\n”; exit (1); }
head=p; top=0;
if (bt )
{top++; stack[top]=bt;
while (top )
{t=stack[top]; top--;
if (it->Lchild && !t->Rchild){ (1) ; (2) ; (3) ; }
else {if( (4) ){top++; stack[top]= (5) ; }
if ( (6) ){top++; stack[top]= (5) ; }
}
}
(8) ; (9) ; } }
【答案】
p->Rchild=t:t->Lchild=p:p=t: t->Rchild!=null:t->Rchild: t->Lchild!=null: t->Lchild: p->Rchild=head:head->Lchild=p
8. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4; 2
9. 执行顺序查找时,存储方式可以是_____,折半查找时,要求线性表_____,分块查找时要求线性表_____,而哈希表的查找,要求线性表的存储方式是_____。
【答案】顺序存储或链式存储;顺序存储且有序;块内顺序存储,块间有序;散列存储
10.对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
第 3 页,共 30 页
二、选择题
11.为支持
A. 连续结构
B. 链式结构
C. 直接索引结构
D. 多级索引结钩
【答案】A
【解析】为了实现快速随机播放,要保证最短的查询时间,即不能选取链表和索引结构,因此连续结构最优。
12.栈和队的共同点是( )。
A. 都是先进后出
B. 都是后进先出
C. 只允许在端点处插入和删除元素
D. 没有共同点
【答案】C
【解析】栈和队列的区别是栈是先进后出的数据结构,队列是先进先出的数据结构,栈和队列的共同点是都只能在端点处插入和删除元素。
13.图G 是n 个顶点的无向完全图,则下列说法不正确的是( )
A.G 的邻接多重表需要n (n-l )个边结点和n 个顶点结点
B.G 的连通分量个数最少
C.G 为连通图
D.G 所有顶点的度的总和为n (n-1)
【答案】A
【解析】A 项中G 的邻接多重表中需要n (n-l )/2个边结点和n 个顶点结点。此时连通分量最少为1。无向完全图中任意两个顶点之间都存在路径,则G 必为连通图。每个顶点的度为n-1,则n 个结点的度的总和为n (n-l )。
14.用哈希(散列)方法处理冲突(碰撞)时可能出现堆积(聚集)现象,下列选项中,会受堆积现象直接影响的是( )
A. 存储效率
B. 数列函数
C. 装填(装载)因子
D. 平均查找长度
第 4 页,共 30 页 中视频文件的快速随机播放,播放性能最好的文件数据块组织方式是( )