2017年江西农业大学计算机与信息工程学院819数据结构考研仿真模拟题
● 摘要
一、填空题
1. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称 增量序列)依次是4,2,1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。
【答案】3; (10,7,-9,0,47,23,1,8,98,36)
2. 在单链表L 中,指针P 所指结点有后继结点的条件是_____
【答案】
【解析】指针所指节点的指针域所指向的元素非空,说明该指针所指节点有后继结点。
3. 完善算法:求KMP 算法.next 数组。
END ;
【答案】
4. 索引顺序文件既可以顺序存取,也可以_____存取。
【答案】随机
5. 设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。free_tree在下面的算法中,(T )在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点;
首
先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返否则返回根结点的地址。
第 2 页,共 73 页
【答案】
6. 顺序栈用
【答案】
存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
7. 从平均时间性能而言,_____排序最佳。
【答案】快速
【解析】快速算法的平均时间复杂度为nlogn 。
8. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4; 2
9.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
10.检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有_____检索和_____检索。
【答案】关键字;记录号;记录号;顺序;直接
二、选择题
11.对任意一棵树,设它有n 个结点,这n 个结点的度数之和为( )。
A.n B. C. D. 【答案】C
【解析】每个结点(除根节点外)都是一个分支,即所有结点的度数之和等于分支个数等于总的结点数减一,即n-1。
第 3 页,共 73 页
12.直接插入排序在最好情况下的时间复杂度为( )。
【答案】B
【解析】当序列是按照直接插入排序的顺序有序时,此时进行插入时,每次都只需要和末尾 的一个元素进行比较,此时的时间复杂度最好,为
13.将两个各有N 个元素的有序表归并成一个有序表,其最少的比较次数是( )。
A.N B.2N-1 C.2N D.N-1
【答案】A
【解析】归并排序基本思想:归并排序是多次将两个或两个以上的有序表合并成一个新的有序表。最简单的归并是直接将两个有序的子表合并成一个有序的表。归并排序最好情况下的复杂 度为
14.为解决计算机主机与打印机之间速度不匹配问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。
A. 栈 B. 队列 C. 树 D. 图 【答案】B
【解析】这类问题一般都先分析题目中的数据具有什么操作特性或是结构特性比如“先进后出”、“先进先出”等再判断其逻辑结构。栈和队列是操作受限的线性表,栈具有先进后出的特性而队列具有先进先出的特性。由于本题中先进入打印数据缓冲区的文件先被打印,因此打印数据缓冲区具有先进先出性,则它的逻辑结构应该是队列。
15.一棵3阶B-树中含有2047个关键字,包括叶结点层,该树的最大深度为( )。
A.11 B.12 C.13 D.14
【答案】B
第 4 页,共 73 页