2018年扬州大学信息工程学院858程序设计与数据结构之数据结构考研强化五套模拟题
● 摘要
一、单项选择题
1. 向一个栈顶指针为h 的带头结点的链栈中插入指针S 所指的结点时,应执行( )。
A.h ﹣>next =s ;
B.s ﹣>next =h ;
C.s ﹣>next =h ;h ﹣>next =s ;
D.s ﹣>next =h ﹣next ;h ﹣>next =s ;
【答案】D
【解析】本题是向一个链栈中插入结点,可从头结点后插入。先将s 结点指向第一个头结点之后的结点之前,再将头结点指向s 结点。
2. 已知一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,则该完全二叉树的结点个数最多是( ).
A.39
B.52
C.111
D.119
【答案】C
【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层. 题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度. 根据题意,一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,可知此二叉树的高度是6或7. 题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7. 由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是
目中二叉树的第6层结点数是. 又根据二叉树的性质1可知,题个结点,已知有8个叶子结点,那么其余32﹣8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点). 所以此二叉树的结点数最多 可达
3. 从堆中删除一个元素的时间复杂度为( )。
A.O(1) B.
C.O(n) D.
【答案】B
【解析】堆中删除一个元素,需要重新调整堆,其时间复杂度为
。
4. 对给定的关键字序列110, 119, 007, 911, 114, 120, 122进行基数排序, 则第2趟分配收集后得到的关键字序列是( )
A.007.110.119.114.911.120.122
B.007, 110, 119, 114, 911, 122, 120
C.007, 110, 911, 114, 119, 120, 122
D.110, 120, 911, 122, 114, 007, 119
【答案】C
【解析】基数排序的第1趟排序是按照个位数字来排序的, 第2趟排序是按然十位数字的大小进行排序的, 故答案是C 选项。
5. 某计算机主存容量为64KB ,其中ROM 区为4KB ,其余为RAM 区,按字节编址. 现要用2K ×8位的ROM 芯片和4K ×4位的RAM 芯片来设计该存储器,则需要上述规格的ROM 芯片数和RAM 芯片数分别是( )
A.1、15
B.2、15
C.1、30
D.2、30
【答案】D
【解析】主存储器包括RAM 和ROM 两部分,由于ROM 区为4KB ,则RAM 区为60KB. 存储容量的扩展方法有字扩展、位扩展、字和位同时扩展三种. 选用2Kx8位的ROM 芯片,只需采用2片芯片进行字扩展便可得到4KB 的ROM 区;选用4Kx4位的RAM 芯片,需采用(60)/4*2片芯片进行字和位同时扩展便可得60KB 的RAM 区.
6. 已知字符串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
【答案】C
【解析】模式匹配(KMP)算法对普通的暴力匹配的改进在于:每当匹配过程中匹配失败时, 主串(本题为S) 的指针(i)不需要回溯, 而是利用已经得到的“部分匹配”的结果将模式串(t)向右“滑动”尽可能远的一段距离后, 继续进行比较。模式串“滑动”的距离是由模式串(t)本身决定的, 即t
的子串
中前缀串和后缀串相等的最长长度。本题中第一次失配i=5, 字串为“abaab”, 其相等且最长的前后缀为“ab”, 一次下一个j=2。
) 时, i=j=5, 则下次开始匹配时, i 和j 的值分别是( )。
7. 设X 是树T 中的一个非根结点,B 是T 所对应的二叉树。在B 中,X 是其双亲的右孩子,下列结论正确的是( )。
A. 在树T 中,X 是其双亲的第一个孩子
B. 在树T 中,X 一定无右兄弟
C. 在树T 中,X 一定是叶结点
D. 在树T 中,X 一定有左兄弟
【答案】D
【解析】由树和二叉树的转换关系可知,X 一定有左兄弟,X 是其双亲的第二个孩子,不能确定在树T 中,X 是否有右兄弟,是否是叶结点。
8. 用希尔排序方法对一个数据序列进行排序时, 若第1趟排序结果为9, 1, 4, 13, 7, 8, 20, 23, 15, 则该趟排序采用的增量(间隔) 可能是( )
A.2
B.3 C.4
D.5
【答案】B
【解析】对于A , 增量为2, 那么9, 4, 7, 20, 15是一组, 而它们是无序的, 所以A 错误 对于C , 增量为4, 那么9, 7, 15是一组, 而它们是无序的, 所以C 错误
对于D , 增量为5, 那么9, 8是一组, 降序, 1, 20是一组, 而它们是升序, 所以D 也错误。对于B , 分为3组:9, 13, 20; 1, 7, 23; 4, 8, 15都是升序有序, 所以B 正确
9. 下列指令中, 不能在用户态执行的是( )
A.trap 指令
B. 跳转指令
C. 后找指令
D. 关中断指令
【答案】D
【解析】关中断指令必须在和心态才能执行, trap 指令可以在用户态下执行, 执行了就转到和心态, 跳转与退栈指令都是可以在用户态下执行的指令。
相关内容
相关标签