2018年闽南师范大学计算机学院821计算机学科专业基础综合[专业硕士]之数据结构考研仿真模拟五套题
● 摘要
一、填空题
1. 二进制地址为011011110000, 大小为【答案】011011110100;011011100000
【解析】011011110000是块的起始地址,大小分别为算公式如下:
当大小为4时,起始地址为011011110000+0100。当大小为16时,起始地址为:011011110000-010000。
2. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。
:_____:
{_____)
(_____、
:_____;_____;p =u ;
【答案】(1)L﹣>next =NULL //置空链表,然后将原链表结点逐个插入到有序表中
(2)p!=NULL //当链表尚未到尾,p 为工作指针
(3)q!=NULL //查P 结点在链表中的插入位置,这时q 是工作指针
(4)p﹣>next =r ﹣>next //将P 结点链入链表中
(5)r﹣>next =p //r是q 的前驱,u 是下个待插入结点的指针
和其伙伴块的起始地址计和块的伙伴地址分别为:_____
3. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。
【答案】顺序
【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。
4. 组成串的数据元素只能是_____。
【答案】字符
5. 设单链表的结点结构为(data,next) ,next 为指针域,已知指针px 指向单链表中data 为x 的结点,指针py 指向data 为y 的新结点,若将结点y 插入结点x 之后,则需要执行以下语句: _____;_____;
【答案】py ﹣>next =px ﹣>next ;px ﹣>next =py
6. 数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
二、单项选择题
7. 某网络拓扑如下图所示, 路由器R1
只有到达子网
( )。
的路由。为使R1可以将IP 分组正确地路由到图中所有子网, 则在R1中需要增加一条路由(目的网络, 子网掩码, 下一跳) 是
A.
B.
C.
D.
【答案】D
【解析】首先从题目给出的路由表项可以确定下一跳肯定是路由器R1直接相连的R2的地址, 因此是, 此时可以排除A 和B 两个选项了。进而分析路由器R2所连接的网络特点, 注意
和, 但答案选项中只有一条信息, 因此这里其连接了2
个网络分别是
用到了超网的概念, 超网是与子网类似的概念一IP 地址根据子网掩码被分为独立的网络地址和主机地址。但是, 与子网把大网络分成若干小网络相反, 它是把一些小网络组合成一个大网络一超网,
这里
和
, 那么子网掩码就是前24位是相同的,
因此所构成的超网就是即, 因此答案是D 。
8. 为提高散列(Hash)表的查找效率, 可以采用的正确措施是( )。
Ⅰ. 增大装填(载) 因子
Ⅱ. 设计冲突(碰撞) 少的散列函数
Ⅲ. 处理冲突(碰撞) 时避免产生聚集(堆积) 现象
A. 仅Ⅰ
B. 仅Ⅱ
C. 仅Ⅰ、Ⅱ
D. 仅Ⅱ、Ⅲ
【答案】D
【解析】散列表的查找效率(比较次数) 取决于:散列函数、处理冲突的方法和散列表的装填因子α。α标志着散列表的装满程度, 通常情况下, α越小, 发生冲突的可能性越小; 反之, α越大, 表示已填入的记录越多, 再填入记录时, 发生冲突的可能性越大。因此选项Ⅰ错误, 越是增大装填因子, 发生冲突的可能性就越大, 查找效率也越低。选项Ⅱ正确。选项Ⅲ正确。采用合适的处理冲突的方法避免产生聚集现象, 也将提高查找效率。例如, 用拉链法解决冲突时不存在聚集现象, 用线性探测法解决冲突时易引起聚集现象。
9. 本地用户通过键盘登录系统时,首先获得的键盘输入信息的程序是( ).
A. 命令解释程序
B. 中断处理程序
C. 系统调用服务程序
D. 用户登录程序
【答案】B
【解析】外部设备在与计算机连接时有多种方式,中断技术就是一种常用方式. 其工作原理是:利用处理机中断信号线,外部设备在需要服务的时候将该线设置为有效,计算机若同意接受中断则会停止当前进程的运行,转而服务发出中断的物理设备(注意与陷阱,即软中断有区别),那么对不同外部设备进行服务的程序代码是不同的,如何找到这些代码呢? 这就要借助中断向量,中断向量一般是由硬件根据中断的类型(不同外设不同)计算所得,或计算机系统在开机配置时所配置的. 处理机取得中断向量,其实就是一个物理地址,该地址下存放的是为此中断服务的代码的起始地址. 所以,当键盘按下的时候,键盘控制器获得该操作动作,先将键盘扫描码读入键盘缓冲区,再向处理机发出键盘中断,适当的时候(一条指令的末尾或一条原语结束)处理机会响应中断,调用指定服务程序将键盘缓冲区中的键盘扫描码输入到登录进程中去. 如此,最先响应键盘的必然是中断处理程序. 本题中,像命令解释器(例如cmd 窗口)、系统调用服务和用户登录程序都在中断处理程序后面.