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

2018年北方民族大学软件工程832C语言程序设计与数据结构之数据结构考研仿真模拟五套题

  摘要

一、填空题

1. 以下是用类C 语言写出的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个带头结点的双向循环链表,链接时,结点的Lchild 域作为前链域,指向结点的直接前驱,结点的Rchild 域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack , 栈顶指针为top ,P ,t 为辅助指针,head 为双向循环链表的头指针。试填充算法中的空格,使算法完整。

【答案】

2. 在循环队列中,队列长度为n ,存储位置从0到,n ﹣1编号,以rear 指示实际的队尾元素,现要在此队列中插入一个新元素,新元素的位置是_____。

【答案】

3. 设二维数组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。

4. 假定查找有序表

【答案】

中每个元素的概率相等,则进行折半查找时的平均查找长度为_____。

【解析】折半查找时每个的次数如表所示:

平均查找次数为

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

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

6. 在下面的程序段中,对X 的赋值语句的时间复杂度为_____ (表示为n 的函数) 。

【答案】1+(1+2) +(1+2+3) +…+(l+2+…+n) =n(n+1)(n+2)/6,即O(n)

【解析】当i =l 时,赋值语句就被执行了一次。当i =2时,赋值语句被执行了1+2次。当i =3时,赋值语句被执行了1+2+3次。...... 可以推出赋值语句总共被执行了1+(1+2) +(1+2+3) +…+(l+2+... +n) =n(n+1)(n+2)/6次。

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

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

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

【答案】

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

9. 在一个无向图的的邻接表中,若表结点的个数是m ,则图中边的条数是_____条。

【答案】

【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。

10.对n 个记录的表进行简单选择排序,所需进行的关键字间的比较次数为_____。

【答案】n (n-1) /2

【解析】第一次需要n -1次比较,第i 此需要n -i 此比较,所以共需要

二、判断题

11.深度为k 的二叉树中结点总数小于等于2k ﹣l 。( )

【答案】 √

【解析】深度为K 的二叉树,当结点数最多时为满二叉树,此时结点数为2k ﹣l 。

12.AOE 网一定是有向无环图。( )

【答案】×

【解析】在带权的有向图中,以顶点表示事件,有向边表示活动,边上的权值表示完成该活动的开销,则称这种有向图表示活动的网络,简称为AOE 网。因此对AOE 网是否是有向无环图没有要求。

13.在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。( )

【答案】√

【解析】在进行分块查找时,首先查找元素在哪一块,然后在确定的块中查找元素,因此,在索引顺序表中,进行分块查找的平均查找长度不仅与表中元素的个数有关,而且与每块中的元素个数有关。

14.快速排序和归并排序在最坏情况下的比较次数都是

【答案】×

【解析】快速排序最坏的情况下比较次数是

15.二维以上的数组其实是一种特殊的广义表。( )

【答案】 √

【解析】广义表是线性表的推广。广义表中的元素还有可能是广义表。对于维数大于二的数组,它在某一维上的元素还是数组。符合广义表的定义,因此二维以上的数组其实是一种特殊的广义表。

16.当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。( )

【答案】×

【解析】当改变任意关键路径上的关键话动之后,这个活动可能还是关键活动,因此不会产

( )