2017年北京联合大学智能交通工程803软件基础之数据结构考研仿真模拟题
● 摘要
一、填空题
1. 设二维数组A 的行和列的下标范围分别为
【答案】
当其值为
和
每个元素占2个单元,按行优先顺处的元素为_____。
序存储,第一个元素的存储起始位置为b ,则存储位置为
【解析】令这个元素的行标为i ,列标为j 。则它的存储位置是
时,则i=2,j=3。
2. 当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用_____存储结构。
【答案】顺序
【解析】顺序存储结构的存取操作比较方便,但插入和删除操作不如链式存储结构方便,而且需要连续的存储空间,由于该线性表的元素总数基本稳定,而且很少进行插入删除操作,为了更快的存取元素,顺序表更合适。
3. 表达式
【答案】
的后缀表达式是_____。
4. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_____和记录的_____,
【答案】比较;移动
5. 空格串是指_____,其长度等于_____。
【答案】由空格字符(
值32)所组成的字符串;空格个数
6. 属于不稳定排序的有_____。
【答案】希尔排序、简单选择排序、快速排序、堆排序等
7. 在有n 个顶点的有向图中,每个顶点的度最大可达。
【答案】2(n-l )
【解析】当有向图为完全连通图时每个顶点的度达到最大,出度入度均为n-1。
8. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____; 而又根据指针的连接方式,链表又可分成_____和_____。
【答案】单链表;双链表;(动态)链表;静态链表
【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。
9. 假定有k 个关键字互为同义词,若用线性探测再哈希法把这k 个关键字存入哈希表中,至少要进行_____次探测。
【答案】
【解析】当该关键字发生冲突时,用线性探测不会遇到别的关键字冲突,这个时候需要探测 的次数最小。总次数为
10.求最短路径的Dijkstra 算法的时间复杂度为_____。
【答案】
二、选择题
11.图的BFS 生成树的树高比DFS 生成树的树高( )。
A. 小或相等 B. 小 C. 大或相等 D. 大 【答案】A
【解析】BFS 称作广度优先搜索,DFS 称作深度优先搜索。广度优先搜索类似与二叉树的层序遍历算法,深度优先搜索类似于树的先序遍历。因为深度优先搜索算法遵循的策略是尽可能的“深”地搜索一个图。所以图的BFS 生成树的树高比DFS 生成树的树高小或者相等。
12.在OSI 参考模型中,自下而上第一个提供端到端服务的层次是( )。
A. 数据链路层 B. 传输层 C. 会话层 D. 应用层 【答案】B
【解析】题目中指明了这一层能够实现端到端传输,也就是端系统到端系统的传输,数据链路层主要负责传输路径上相邻结点间的数据交付,这些结点包括了交换机和路由器等数据通信设备,这些设备不能被称为端系统,因此数据链路层不满足题意。题目中指明了这一层能够实现传输,会话层只是在两个应用进程之间建立会话而已,应用层只是提供应用进程之间通信的规范,都不涉及传输。所以本题答案应该是B 项。在OSI 模型中网络层提供的是主机到主机的通信服务。
13.
已知操作符包括
的后缀表达式
将中缀表达式转换为等价
时,用栈来存放暂时还不能确定运算次序的操作符。若栈初始时为
空,则转换过程中同时保存在栈中的操作符的最大个数是( )。
A.5 B.7 C.8 D.11
【答案】A 。
【解析】基本思想是:采用运算符栈是为了比较运算符的优先级,所有运算符必须进栈。只将大于栈顶元素优先级的运算符直接进栈,否则需要退栈栈顶运算符(先出栈的运算符先计算,同优先级的运算符在栈中的先计算)
。表达式所列:
产生后缀表达式的过程如下表
通过上表可以看出,显然转换过程中同时保存在栈中的操作符的最大个数是5。
14.当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度( )。
A. 必定快 B. 不一定