2017年天津财经大学计算机系统结构818计算机专业综合之数据结构考研导师圈点必考题汇编
● 摘要
一、填空题
1. 遍历图的过程实质上是_____,广度优先遍历图的时间复杂度_____; 深度优先遍历图的时间复杂度_____, 两者不同之处在于_____, 反映在数据结构上的差别是_____。
【答案】查找顶点的邻接点的过程;0(n+e); 0(n+e); 访问顶点的顺序不同;队列和栈
【解析】广度优先遍历图使用队列这种数据结构,深度优先遍历图使用栈这种数据结构。
2. 一个有2001个结点的完全二叉树的高度是_____。
【答案】11
【解析】完全二叉树的高度
3. 假定查找有序表中每个元素的概率相等,则进行折半查找时的平均查找长度为_____
【答案】37/12
【解析】折半查找时每个的次数如表所示:
表
平均查找次数为
4. 外排序的基本操作过程是_____和_____。
;归并 【答案】生成有序归并段(顺串)
5. 如果按关键码值递増的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为_____。 【答案】
【解析】如果关键码是排好序的,构建二叉排序树就会形成一个单支树,它的查找效率和顺 序查找效率一样为
6. 空格串是指_____,其长度等于_____。
【答案】由空格字符(
值32)所组成的字符串;空格个数
7. 在一棵m
阶
的个数是_____。 【答案】树中,若在某结点中插入一个新关键字而引起该结点分裂,则此结点中原有的关键字的个数是_____;若在某结点中删除一个关键字而导致结点合并,则该结点中原有的关键字
【解析】m
阶树除根结点和叶子结点外,结点中关键字个数最多是最少
8. 在顺序存储的二叉树中,编号为i 和j 的两个结点处在同一层的条件是_____。 【答案】
要加“虚结点”。
设编号为
和
的结点在顺序存储中的下标为
和
。 【解析】用顺序存储结构存储二叉树时,要按完全二叉树的形式存储,非完全二叉树存储时,,
则结点
和
在同一层上的条件是
9. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。
【答案】4; 2
10.设为哈夫曼树的叶结点数日,则该哈夫曼树共有_____个结点。 【答案】
【解析】哈夫曼树只有度为0和2的节点。
二、选择题
11.相对于微程序控制器,硬布线控制器的特点是( )。
A. 指令执行速度慢,指令功能的修改和扩展容易
B. 指令执行速度慢,指令功能的修改和扩展难
C. 指令执行速度快,指令功能的修改和扩展容易
D. 指令执行速度快,指令功能的修改和扩展难
【答案】D
【解析】在同样的半导体工艺条件下,硬布线(组合逻辑)控制器的速度比微程序控制器的速度快。这是因为硬布线控制器的速度主要取决于逻辑电路的延迟,而微程序控制器增加了一级控制存储器,执行的每条微指令都要从控制存储器中读取,影响了速度。由于硬布线控制器一旦设计完成就很难改变,所以指令功能的修改和扩展难。因此,硬布线控制器的特点是指令执行速度快,指令功能的修改和扩展难。
12.若用户1与用户2之间发送和接收电子邮件的过程如图所示,则图中①、②、③阶段分别使用的应用层协议可以是( )。
图 电子邮件发送接收示意图
A.SMTP 、SMTP 、SMTP
B.POP3、SMTP 、POP3
C.POP3、SMTP 、SMTP
D.SMTP 、SMTP 、POP3
【答案】D 。
【解析】题中电子邮件的工作过程如下:
①用户1调用用户代理来编辑要发送的邮件,用户代理用SMTP 将邮件传送给用户1的发送端邮件服务器。
②发送端邮件服务器也就是用户1的邮件服务器将邮件放入邮件缓存队列中,等待发送。 ③运行在发送端邮件服务器的SMTP 客户进程,发现在邮件缓存中有待发送的邮件,就向运行在接收端邮件服务器也就是用户2的邮件服务器的SMTP 服务器进程发起TCP 连接建立。当TCP 连接建立后,SMTP 客户进程开始向远程的SMTP 服务器发送邮件。当所有的待发邮件发完了,SMTP 就关闭所建立的TCP 连接。
④运行在接收端邮件服务器中的SMTP 服务器进程收到邮件后,将邮件放人收信人的用户邮箱中,等待收信人在他方便时进行读取。收信人在打算收信时,调用用户代理,使用POP 协议将自己的邮件从接收端邮件服务器的用户邮箱中取回(如果邮箱中有来信的话)。
因此题中1,2, 3阶段分别使用的应用层协议可以是SMTP ,SMTP , POP3, 因此答案是D 。SMTP 采用“推”的通信方式,用于用户代理向邮件服务器发送邮件、以及邮件服务器之间发送邮件。POP3采用“拉”的通信方式,用于用户从目的邮件服务器上读取邮件。
13.已知字符串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, 字串为
,i=j = 5,则下次开始匹配时,i 和j 的值分别是( ))。