2018年哈尔滨工业大学854计算机基础(含数据结构、计算机组成原理)之数据结构考研核心题库
● 摘要
一、单项选择题
1. 每个结点的度或者为0或者为2的二叉树称为正则二叉树。n 个结点的正则二叉树中有( )个叶子。 A.
B.
C.
D. 【答案】D
【解析】二叉树结点总数n =n 0+n 1+n 2(n0,n 1,n 2分别代表度为0,度为1,度为2的结点数) 。又在非空二叉树中:n 0=n 2+l ,且本题所给树为正则二叉树,n 1=0,所以n =2*n0﹣l ,因此n 1=(n+1)/2。
2. 引入二叉线索树的目的是( )。
A. 加快查找结点的前驱或后继的速度
B. 为了能在二叉树中方便地进行插入与删除
C. 为了能方便地找到双亲
D. 使二叉树的遍历结果唯一
【答案】A
【解析】二叉线索树有指向前驱和后继的指针,因此加快了查找前驱和后继结点的速度。
3. 设有数组A[i,j],数组的每个元素长度为3字节,i 的值为1到8,j 的值为1到10,数组从内存首地址BA 开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为( )。
A.BA+141
B.BA+180
C.BA+222
D.BA+225
【答案】B
【解析】在计算中,可以考虑按照列存放时,A[5,8]在内存的位置,比较容易计算元素的首地址。比如A[5,8]顺序存放时,它是第7*8+5=61个元素,由于首地址为BA ,所以它的存储首地址为BA +(61﹣1)*3=180+BA。
4. 对矩阵压缩存储是为了( )。
A. 方便运算
B. 方便存储
C. 提高运算速度
D. 减少存储空间
【答案】D
【解析】压缩存储也就是对那些没用的元素不进行存储或者对那些具有一定规律的相同元素放在一个存储空间,目的就是为了节省空间。
5. 归并排序中,归并的趟数是( )。
A.O(n) B. C. D.
【答案】B
【解析】不妨设归并的趟数为m ,第一次归并每组有两个元素,最后一次归并只剩下一组,这组的元素个数为n
。因此每次归并元素的个数増加一倍。所以
。
6. 若无向图
是( )。
A.6
B.15
C.16
D.21
【答案】C
【解析】要保证无向图G 在任何情况下都是连通的, 即任意变动图G 中的边, G 始终保持连通。首先需要图G 的任意6个结点构成完全连通子图
再添加一条边将第7个结点与, 需条边, 然后连接起来, 共需16条边。本题非常容易错误地选择选项A , 主要原中含7个顶点, 则保证图G 在任何情况下都是连通的, 则需要的边数最少。所以归并的趟数为因是对“保证图G 在任何情况下都是连通的”的理解, 分析选项A , 在图G 中, 具有7个顶点6条边并不能保证其一定是连通图, 即有n-1条边的图不一定是连通图。分析选项D , 图G 有7个顶点21条边, 那么图G 一定是无向完全图, 无向完全图能保证其在任何情况下都是连通的, 但是这不符合题目中所需边数最少的要求。
7. 下列关于银行家算法的叙述中, 正确的是( )
A. 银行家算法可以预防死锁
B. 当系统处于安全状态时, 系统中一定无死锁进程
C. 当系统处于不安全状态时, 系统中一定会出现死锁进程
D. 银行家算法破坏了死锁必要条件中的“请求和保持”条件
【答案】B
【解析】银行家算法是避免死锁的方法。利用银行家算法, 系统处于安全状态时没有死锁进程, 故答案选B 。
8. 将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是( ).
(1)父子关系
(2)兄弟关系
(3)U的父结点与V 的父结点是兄弟关系
A. 只有(1)
B.(1)和(2)
C.(1)和(3)
d.(1)、(2)和(3)
【答案】B
【解析】首先,在二叉树中,若结点U 是结点v 的父结点的父结点,那么u 和v 的关系有如下4种情况:
接下来,根据森林与二叉树的转换规则,将这4种情况还原成森林中结点的关系. 其中: 情况(1),在原来的森林中u 是v 的父结点的父结点;
情况(2),在森林中u 是v 的父结点;
情况(3),在森林中u 是v 的父结点的兄弟;
情况(4),在森林中u 与v 是兄弟关系.
由此可知,题目中的(1)、(2)是正确的.
9. 程序员利用系统调用打开I/O设备时,通常使用的设备标识是( ).
A. 逻辑设备名
B. 物理设备名
C. 主设备号
D. 从设备号
【答案】A
【解析】设备管理具有设备独立性的特点,操作系统以系统调用方式提供给应用程序使用逻
相关内容
相关标签