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

2017年三峡大学计算机与信息学院837计算机综合之数据结构考研强化模拟题

  摘要

一、填空题

1. 完善算法:求KMP 算法.next 数组。

END ; 【答案】

2. 线性表

【答案】(n -1)/2

【解析】删除第一个元素需要移动n -i 次,以此类推,删除最后一个元素需要移动0次。平 均次数为

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

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

【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。

4.

给定一组数据

的值为_____。 【答案】5;96

【解析】每次找两个最小的权值构建哈夫曼树:

用数组表示,假定删除表中任一元素的概率相同,则删除一个元素

平均需要移动元素的个数是_____。

以它构造一棵哈夫曼树,则树高为_____,

带权路径长度

5. 在进行入栈运算时应先判别栈是否_____:在进行出栈运算时应先判别栈是否_____:当栈中元素为n 个,进行入栈运算时发生上溢,则说明该栈的最大容量为_____。为了增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的空间时,应将两栈的_____分别设在内存空间的两端,这样只有当_____时才产生溢出。

【答案】满;空;n ; 栈底;两栈顶指针相邻(即值之差的绝对值为1)

6. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称 增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。

【答案】3; (10,7,-9,0,47,23,1,8,98,36)

7. 对于一个具有n 个结点的二叉树,当它为一棵_____二叉树时具有最小高度,当它为一棵_____ 时. 具有最大高度

【答案】完全;只有一个叶结点的二叉树

8. 若用n 表示图中顶点数目,则有_____条边的无向图成为完全图。

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

【解析】无向完全图中任意一个顶点都和其他n-1个顶点都有一条边,即为n (n-l )。又因为每条边重复出现两次,所有无向完全图的边数为n (n-l )/2。

9. 在哈希函数中,P 值最好取_____。

【答案】小于等于表长的最大素数或不包含小于20的质因子的合数

【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。

10.表达式的后缀表达式是_____。

【答案】

二、选择题

11.下列关于进程和线程的叙述中,正确的是( )。

A. 不管系统是否支持线程,进程都是资源分配的基本单位 B. 线程是资源分配的基本单位,进程是调度的基本单位 C. 系统级线程和用户级线程的切换都需要内核的支持 D. 同一进程中的各个线程拥有各自不同的地址空间 【答案】A 。

“线程是资源分配的基本单位,【解析】利用排除法来确定正确答案:进程是调度的基本单位”这句话说反了,明显错误。“系统级线程和用户级线程的切换都需要内核的支持”也不正确,因为用户级线程的切换由用户编写的RuntimeSystem 执行的,内核并不感知。“同一进程中的各个线程

拥有各自不同的地址空间”明显错误,引入线程的目的就是为了同一进程的所有线程能共享进程的地址空间,故“不管系统是否支持线程,进程都是资源分配的基本单位”是正确的。

12.分别以下列序列构造二叉排序树,与用其他三个序列所构造的结果不同的是( )。

【答案】C

【解析】二叉排序树:左右子树都是二叉排序树,且保证右子树都比根结点大,左子树都比根结点小。据以上两点建立二叉排序树。

13.若一棵二叉树的前序遍历序列为a ,e ,b ,d ,c ,后序遍历序列为b , c, d, e, a, 则根结点的孩子结点( )。

A. 只有e B. 有 e 、b C. 有 e 、c D. 无法确定 【答案】A 。

b , d, c, 后序遍历序列为b ,c , d, 【解析】由题目可知,若一棵二叉树的前序遍历序列为a , e,e , a , 其中a 为这棵二叉树的根结点,接下来,在前序遍历的第二个结点为e , 而后序遍历的倒数第二个结点为e , 说 明a 的孩子结点只有e 。

14.有六个元素6, 5, 4, 3, 2, 1顺序入栈,下列不是合法的出栈序列的是( )。

A.543612 B.453126 C.346521 D.234156 【答案】C

【解析】根据栈的后进先出的特点,对于C 选项中前两个元素得出栈顺序可以看出,4在5和6前先出栈,又根据入栈顺序,4在5和6后入栈,因此4出栈时,5和6必定在栈内,且5在6之上,所以出栈时5要比6先出找。

15.采用指令Cache 与数据Cache 分离的主要目的是( )

A. 减低Cache 的缺失损失 B. 提高Cache 的命中率 C. 减低CPU 平均访问时间 D. 减少指令流水线资源冲突 【答案】D

【解析】指令流水线不会断流,预取过来的都是指令