2017年北京联合大学软件工程803软件基础之数据结构考研冲刺密押题
● 摘要
一、填空题
1. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。
【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈
【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。
.已
知
求REPLACE (S ,V , m )=_____。 【答案】
3. 已知如下程序段:
语句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。
2
4. 用循环链表表示的队列长度为n ,若只设头指针,则出队和入队的时间复杂度分别是_____和_____;若只设尾指针,则出队和入队的时间复杂度分别是_____和_____。 【答案】
【解析】队列的出队操作即删除队头的元素,队列的入队操作即在队尾添加元素,循环链表只设头指针,出队时,只要把头结点的下一个结点删除就好了,入队时,要把新的结点插入队尾,必须把队列遍历,找到队尾指针,才能插入。循环队列只设尾指针,出队时只要把为指针的下一个结点或者下下个结点删除即可,入队时,只要在尾指针的后面插入新的结点,并更新尾结点即可。
5. 设有一个10阶对称矩阵A 采用压缩存储方式(以行为主序存储:
【答案】33
【解析】设存储的元素的行标为i ,列标为j 。若
的地址为将代入得33。
6. 在循环队列中,队列长度为n ,存储位置从0到,则【答案】 则的地址为若
,)则 的地址为_____。编号,以rear 指示实际的队尾元素,现要在此队列中插入一个新元素,新元素的位置是( )。
7. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
8. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺 序查找效率一样为
9. 一个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】
完全二叉树的高度
10.线性表用数组表示,假定删除表中任一元素的概率相同,则删除一个元素平均需要移动元素的个数是_____。
【答案】(n -1)/2
【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平
均次数为
二、选择题
11.用海明码对长度为8位的数据进行检/纠错时,若能纠正一位错,则校验位数至少为( )
A.2
B.3
C.4
D.5
【答案】C
【解析】设校验位的位数为k ,数据位的位数为n ,根据海明码编码k 和n
应满足下述关系。
当k=4时, 符合要求,校验位至少是4位,故答案为C 。
12.在一棵具有15个关键字的4阶B 树中,含关键字的结点数最多是( )
A.5
B.6
C.10
D.15
【答案】D
【解析】m 阶B 树非根结点含关键字个数
关键字,一共有15个关键字那么最多有15个含有关键字的结点
13.线性表是具有n 个( )的有限序列(n >0)。
A. 表元素
B. 字符
C. 数据元素
D. 数据项E. 信息项
【答案】C
【解析】一个线性表是n 个数据元素的有限序列。至于每个数据元素的具体含义,在不同的情况下各不相同。
14.程序员利用系统调用打开I/O设备时,通常使用的设备标识是( )。
A. 逻辑设备名
B. 物理设备名
C. 主设备号
D. 从设备号
【答案】A
【解析】设备管理具有设备独立性的特点,操作系统以系统调用方式提供给应用程序使用逻辑设备名来请求使用某类设备时,调用中使用的是逻辑设备名,例如LPT1或COM1等。而操作
4阶B 树非根结点含关键字1〜3个,所以要使关键字结点数量最多,那么每个结点只有一个