2017年吉林省培养单位长春光学精密机械与物理研究所866计算机原理之数据结构考研强化模拟题
● 摘要
一、填空题
1. 栈是_____的线性表,其运算遵循_____的原则。
;后进先出 【答案】操作受限(或限定仅在表尾进行插入和删除操作)
2. 组成串的数据元素只能是_____。
【答案】字符
3. 检索是为了在文件中寻找满足一定条件的记录而设置的操作。检索可以按_____检索。也可以按_____检索;按_____检索又可以有_____检索和_____检索。
【答案】关键字;记录号;记录号;顺序;直接
4. 假设一个15阶的上三角矩阵A 按行优先顺序压缩存储在一维数组B 中,则非零元素中的存储位置k=_____。(注:矩阵元素下标从1开始)
【答案】93
【解析】对于上三角矩阵
,
5. 当两个栈共享一存储区时,栈利用一维数组当栈1空时,
【答案】
为_____,栈2空时
,
将
代入得93。 表示,两栈顶指针为
则在B
为_____,栈满时为_____。
【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。
6. —棵有个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端)结点和_____个叶子,该满二叉树的深度为_____。
【答案】
或
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。
7. 设二维数组A 的行和列的下标范围分别为和每个元素占2个单元,按行优先顺序存储,第一个元素的存储起始位置为b ,则存储位置为
【答案】时,则i=2,j=3。
处的元素为_____。
当其值为
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是
8. 完善算法:求KMP 算法.next 数组。
END ; 【答案】
9. 在哈希函数
中,P 值最好取_____。
【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
【解析】在使用除留余数法时,对除数P 的选择很重要。若P 选的不好,容易产生同义词。一般情况下,可以选P 为质数或不包含小于20的质因素的合数。
10.阅读下列程序说明和裎序,填充程序中的_____。
【程序说明】本程序完成将二叉树中左、右孩子交换的操作。交换的结果如下所示(编科略)本程序采用非递归的方法,设立一个堆栈交换左、右子树的算法为:
(1)把根结点放入堆栈。
(2)当堆栈不空时,取出栈顶元素,交换它的左、右子树,并把它的左、右子树分别入栈。(3)重复(2)直到堆栈为空时为止。
存放还没有转换过的结点,它的栈顶指针为
。
(1)
{(2)
If ( (3) )
}
}}
【答案】
【解析】本题主要使用堆栈完成了二叉树左右子树交换的操作。首先根结点进栈,然后判断栈足否为空,如果不为空,则取栈顶元素,交换取出节点的左右指针。并将左右指针分别进桟,重复这一操作。完成二叉树左右孩子的交换。
11.在一个无向图的的邻接表中,若表结点的个数是m , 则图中边的条数是_____条。
【答案】m/2
【解析】对于无向图,在邻接表中,如果存在n 条边,则会有2n 个表结点。
12.当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。
二、选择题
13.若元素a ,b , c, d, e,f 依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。
A.d ,c ,e ,b ,f ,a B.c ,b ,d ,a ,e ,f C.b ,c ,a ,e ,f ,d D.a ,f ,e ,d ,c ,b
【答案】D
【解析】4个选项所给序列的进、出栈操作序列分别为:
选项A.Push , Push , Push ,Push , Pop, Pop, Push,Pop , Pop, Push , Pop ,Pop 选项B.Push , Push , Push , Pop , Pop , Push, Pop, Pop, Push, Pop , Push, Pop 选项C.Push , Push , Pop , Push , Pop , Pop, Push, Push, Pop, Push , Pop , Pop 选项D.Push , Pop , Push, Push , Push , Push, Push, Pop, Pop,Pop , Pop , Pop
按照题目要求,不允许连续三次进行退栈操作,所以选项D 所给序列为不可能得到的出栈顺序。
14.向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。
【答案】D
【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。
15.已知序列25, 13, 10, 12, 9是大根堆,在序列尾部插入新元素18, 将其再调整为大根堆,调整过程 中元素之间进行的比较次数是( )。
A.1 B.2 C.4 D.5
【答案】B
【解析】对堆插入或删除一个元素,有可能不满足堆的性质,堆被破坏,需要调整为新堆。 (1)为原堆,