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,满足哈夫曼树的条件。