2017年中国地质大学(武汉)信息工程学院873程序设计基础[专业学位]之数据结构考研强化模拟题
● 摘要
一、填空题
1.
【答案】5
2. —个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
3. 设有个结点的完全二叉树顺序存放在向量
【答案】
中,其下标值最大的分支结点为_____。
=_____
【解析】最大的分支结点是最后一个叶子结点的父结点。
4. n 个顶点的有向图用邻接矩阵array 表示,下面是其拓扑排序算法,试补充完整。
注:(1)图的顶点号从0开始计;
(2)indegree 是有n 个分量的一维数组,放顶点的入度, (3)函数crein 用于记算顶点入度;
(4)有三个函数push (data ), pop( ), check( )其含义为数据data 入浅,出栈和测试栈是否空(不空返回1, 否则0)。
)
.
【答案】0; j; i; 0; indegree[i]=0; [vex][i]; k==l; indegree[i]=0
【解析】有向图用邻接矩阵表示时,顶点i 的入度等于第i 列的所有元素之和。拓扑排序过程:
第 2 页,共 55 页
;
(“图有回路”)
首先将入度 为0的顶点全部进栈。然后弹出栈顶结点,并将与弹出的顶点相连的其它顶点的入度 减一,然后判断这些顶点的 入度是否为零,如果为零,继续进栈,重复这些操作,完成拓扑排序。
5. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4; 2
6. 设数组
数组中任一元素
均占内存48个二进制位,从首地址2000开始
连续存放在主内存里,主内存字长为16位,那么
(1)存放该数组至少需要的单元数是_____;
(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素【答案】270; 27; 2204 【解析】数组的元素个数为需要
第8列有9个元素,共占
因为每个元素占内存48个二进制位,即6个字节。故总
个单元数。
个字节,因此至少需要
个单元数。由题知,每个元素占3
个字节,因为主内存字长为16位,即2个字节,所以至少需要
的起始地址是_____。
个单元。按列存储时,的起始地址为
7. 设T 是一棵结点值为整数的二叉排序树,A 是一个任意给定的整数。free_tree在下面的算法中,(T )在对二叉排序树丁进行后序遍历时释放二又排序树T 的所有结点;
首
先在二叉排序树T 中查找值为A 的结点,根据查找情况分别进行如下处理:(1)若找不到值为A 的结点,则返回根结点的地址(2)若找到值为A 的结点,则删除以此结点为根的子树,并释放此子树中的所有结点,若值为A 的结点是查找树的根结点,删除后变成空的二叉树,则返否则返回根结点的地址。
【答案】
8. 设正文串长度为n ,模式串长度为m ,则串匹配的KMP 算法的时间复杂度为_____。
【答案】
第 3 页,共 55 页
9. 索引顺序文件既可以顺序存取,也可以_____存取。
【答案】随机
10.栈是_____的线性表,其运算遵循_____的原则。
;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)
11.—棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为 _____。
【答案】2
【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。 12.—棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】树。故结点个数为
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉
二、选择题
13.某计算机使用4体交叉存储器,假定在存储器总线上出现的主存地址(十进制)序列为8005, 8006,8007,8008, 8001,8002,8003,8004,8000, 则可能发生发生缓存冲突的地址对是( )。
A.8004、8008 B.8002、8007 C.8001、8008 D.8000、8004 【答案】D
【解析】交叉存储器,又称低位交叉编址,即低位地址为体号,高位地址为体内地址。本题中,主存地址对应的体号分别是:1,2,3,4,1,2,3,4,4。地址为8004和8000都是存取的四号储存器,可能导致8004存储还未完成而又存取8000地址,因此可能发生缓存冲突。
14.假定有k 个关键字互为同义词,若用线性探测法把这k 个关键字存入哈希表中,至少要进行多少次探测?( )
【答案】D
【解析】至少探测次数
15.排序算法的稳定性是指( )。
A. 经过排序之后,能使值相同的数据保持原顺序中的相对位置不变 B. 经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变 C. 算法的排序性能与被排序元素的数量关系不大
第 4 页,共 55 页
相关内容
相关标签