2017年北京联合大学智能交通工程803软件基础之数据结构考研强化模拟题
● 摘要
一、填空题
1. 深度为H 的完全二叉树至少有_____个结点; 至多有_____个结点; H 和结点总数N 之间的关系是_____。
【答案】
2. 设广义表
则
是_____tail(L )是_____;L 的长度是_____;深度是_____。
;;2;2 【答案】( )(( ))
【解析】广义表的表头是表的第一个元素,表尾是除了第一个元素外其余的所有的元素构成的表;表的长度指表中元素的个数;表的深度指展开后括号的层数。
3. 在一个具有n 个单元的顺序栈中,假定以地址高端(即下标为n 的单元)作为栈底,以top 作为栈顶指针,则当向栈中压入一个元素时,top 的变化是top=_____。
【答案】
【解析】由于栈底在地址高端,栈中压入一个元素时,栈顶向地址底端移动一个单位,
所以
4. 设数组数组中任一元素均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么
(1)存放该数组至少需要的单元数是_____;
(2)存放数组的第8列的所有元素至少需要的单元数_____; (3)数组按列存储时,元素【答案】270; 27; 2204 【解析】数组的元素个数为需要
第8列有9个元素,共占
因为每个元素占内存48个二进制位,即6个字节。故总
个单元数。
个字节,因此至少需要
个单元数。由题知,每个元素占3
个字节,因为主内存字长为16位,即2个字节,所以至少需要
的起始地址是_____。
个单元。按列存储时,的起始地址为
5. 关键码序列(Q ,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X ),要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。
【答案】(Q ,A ,C ,S ,Q ,D ,F ,×,R ,H ,M ,Y ); (F ,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X )
【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接
插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
快速排序(quicksort )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
6. 已知二维数组
为1000的连续存储区域时
,
【答案】1196
【解析】设元素的行标为i ,列标为j 。则它的存储位置为:
7. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_____和记录的_____,
【答案】比较;移动
8. 对n 个记录的表r[l..n]进行简单选择排序,所需进行的关键字间的比较次数为_____。
【答案】n (n-1)/2
【解析】第一次需要n-1次比较,第i 此需要n-i 此比较,所以共需要、n-l+n-2+...+l=n(n-l )/2。
9.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
中每个元素占4个单元,在按行优先方式将其存储到起始地址的地址是:_____。
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
10.求最短路径的Dijkstra 算法的时间复杂度为_____。
【答案】
二、选择题
11.设无向图的顶点个数为m 则该图最多有( )条边。
A.n-1
B.n (n-l )/2
C.n (n+l)/2 D.0
E.n2 【答案】B
【解析】在数据结构中仅讨论简单图,在计算无向图的最多边时,不考虑顶点与顶点的边。因此边数最多时,构成的是无向完全图。此时的边数为n (n-l )/2。
12.下面关于求关键路径的说法不正确的是( )。
A. 求关键路径是以拓扑排序为基础的
B. —个事件的最早开始时间同以该事件为尾的弧的活动最早开始时间相同
C. 一个事件的最迟开始时间为以该事件为尾的弧的活动最迟开始时间与该活动的持续时间的差
D. 关键活动一定位于关键路径上 【答案】C
【解析】一个事件的最迟开始事件是这个事件能够拖到的最晚时间,从这个时刻开始做完这个事件不影响其后续事件的开始时间。
13.若用户进程访问内存时产生缺页,则下列选项中,操作系统可能执行的是( )
I. 处理越界错 II. 置换页 III. 分配内存 A. 仅I 、II B .仅II 、III C. 仅I 、III D.I 、II 、和III 【答案】B
【解析】用户进程访问内存时缺页会发生缺页中断。发生缺页中断,系统地执行的操作可能是置换页面或分配内存。系统内没有越界的错误,不会进行越界出错处理。
14.有个分支结点的满二叉树的深度是( )。
A.
B.
C.
D. 【答案】C
【解析】满二叉树的结点总数=分支的结点总数+非分支的结点总数。由于此树为满二叉树, 所以非分支的结点总数为1,所以满二叉树共有个结点,所以满二叉树的深度为
15.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A. 单链表
B. 仅有头指针的单循环链表