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

2017年山东财经大学计算机科学与技术学院809计算机专业基础综合之数据结构考研题库

  摘要

一、填空题

1. 组成串的数据元素只能是_____。

【答案】字符

2. 分别采用堆排序,快速排序,起泡排序和归并排序,对初态为有序的表,则最省时间的是_____算法,最费时间的是_____算法。

【答案】起泡;快速

,【解析】当初态为有序表时,冒泡排序只需要进行一趟比较即可,此时时间复杂度为〇(n )

而快速排序算法需要比较的次数达到最大,时间复杂度为

3. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。

【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈

【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。

4. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】

【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺 序查找效率一样为

5. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。

【答案】

树。故结点个数为

6. 设数组 数组中任一元素均占内存48个二进制位,从首地址2000开始【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉连续存放在主内存里,主内存字长为16位,那么

(1)存放该数组至少需要的单元数是_____;

(2)存放数组的第8列的所有元素至少需要的单元数_____;

(3)数组按列存储时,元素

【答案】270; 27; 2204

的起始地址是_____。

【解析】

数组的元素个数为

需要

第8列有9个元素,共占

个单元。按列存储时,

7. 已知如下程序段:

因为每个元素占内存48个二进制位,即6个字节。故总个单元数。个字节,因此至少需要个单元数。由题知,每个元素占3 个字节,因为主内存字长为16位,即2个字节,所以至少需要的起始地址为

语句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。

8. 从平均时间性能而言,_____排序最佳。

【答案】快速

【解析】快速算法的平均时间复杂度为nlogn 。

9. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。 【答案】

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

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

二、选择题

11.已知字符串S 为“abaabaabacacaabaabcc ”,模式串t 为“abaabc ”,采用KMP 算法进行匹配,第一次出现“失配” (

A.i=l,j=0

B.i=5,j=0

C.i=5,j=2

D.i=6,j=2 ,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。

【答案】C

【解析】模式匹配(KMP )算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时,主串(本题为S )的指针(i )不需要回溯,而是利用已经得到的“部分匹配”的结果将模式串(t )向右“滑动”尽可能远的一段距离后,继续进行比较。模式串“滑动”的距离是由模式串(t )本身决定的,即t 的子串中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为“abaab”,其相等且最长的前后缀为“ab”,一次下一个j = 2。

12.静态链表中指针表示的是( )。

A. 下一元素的地址

B. 内存储器的地址

C. 下一元素在数组中的位置

D. 左链或右链指向的元素的地址

【答案】C

【解析】静态链表的一般结构为:

这种结构是预先分配一个较大的空间,类似于一次申请一个较大的数组,但是元素的增删操作都不会移动元素,只需要移动next 成员就行。因此,静态链表中的指针实际上表示的就是下一个元素在数组中的位置。

13.下列选项给出的是从根分别到达两个叶节点路径上的权值序列,能属于同一棵哈夫曼树的是( )。

A.24,10,5 和24,10,7

B.24,10,5 和24,12,7

C.24,10,10和24,14,11

D.24,10,10和 24,14,6

【答案】D

【解析】哈夫曼树是带权路径长度最短的二叉树。由根节点出发到两个叶子节路径中,第二个被访问的两个结点的权值要么相等,要么和为根节点的权值,故B 项错误。同理,通过第三个被访问的节点排除A 项。C 项,由两条路径可推出三个叶子节点的权值分别是:3、10和11,而根据哈夫曼树的定义可知,权值为3的节点应该和权值为10的结点结合,故C 项错误。D 项,反推出有四个叶子节点,权值分别为:5、5、6和8,满足哈夫曼树的条件。