2018年广东省培养单位南海海洋研究所862计算机学科综合(非专业)之数据结构考研核心题库
● 摘要
一、单项选择题
1. 有n(n>0) 个分支结点的满二叉树的深度是( )。
A.n 2﹣l
B.log 2(n+1) +1
C.log 2(n+1)
D.log 2(n—1)
【答案】C
【解析】满二叉树的结点总数=分支的结点总数+非分支的结点总数。由于此树为满二叉树,
所以非分支的结点总数为1,所以满二叉树共有n +1个结点,所以满二叉树的深度为log 2 (n+1) 。
2. 已知小根堆为8, 15, 10, 21, 34, 16, 12, 删除关键字8之后需重建堆, 在此过程中, 关键字之间的比较数是( )。
A.1
B.2
C.3
D.4
【答案】C
【解析】堆排序中, 依次输出堆顶的最小值, 然后重新调整堆, 如此反复执行, 便得到一个有序序列。本题中, 删除堆顶元素8后将最后一个元素12置于堆顶, 然后调整堆:首先与15比较, 12小于15, 所以不用交换; 然后与10比较, 因为10小于12, 所以交换10和12的位置; 调整后12再与16比较, 12小于16, 调整堆过程结束。因此12共与15、10、16进行了三次比较。
3. 对一组数据(2, 12, 16, 88, 5, 10) 进行排序, 若前三趟排序结果如下:
第一趟:2, 12, 16, 5, 10, 88
第二趟:2, 12, 5, 10, 16, 88
第三趟:2, 5, 10, 12, 16, 88
则采用的排序方法可能是( )。
A. 起泡排序
B. 希尔排序
C. 归并排序
D. 基数排序
【答案】A
【解析】题目中所给的三趟排序过程, 显然是使用起泡排序方法, 每趟排序时从前往后依次比较, 使大值“沉底”。希尔排序的基本思想是:先对序列进行“宏观调整”, 待序列中的记录“基本有序”时再进行直接插入排序。宏观调整的方法是:通过某种规则将大的待排序序列分割为若干小的待排序序列, 再依次对这些小的序列直接插入排序。宏观调整可以多次, 每次分割的序列数逐渐增多, 而每个序列中所包含的元素数逐渐减少。归并排序的基本操作是将多个小的有序序列合并为一个大的有序序列, 然后“逐趙归并”, 直至整个序列为有序为止。基数排序是分配排序的一种, 这类排序不是通过关键字比较, 而是通过“分配”和“收集”过程来实现排序的。本题中, 很容易看出大值逐渐“沉底”, 显然使用的是起泡排序法。
4. float 类型(即IEEE754单精度浮点数格式) 能表示的最大正整数是( )。 A. B. C. D.
【答案】D 。
【解析】IEEE754单精度浮点数尾数采用隐藏位策略的原码表示, 且阶码用移码表示的浮点数。规格化的短浮点数的真值为:
故float 类型能表示的最大整数是
。
5. 若一棵二叉树的前序遍历序列为a , e , b , d , c , 后序遍历序列为b , c , d , e , a , 则根结点的孩子结点( )。
A. 只有e
B. 有e 、b
C. 有e 、c
D. 无法确定
【答案】A 。
【解析】由题目可知, 若一棵二叉树的前序遍历序列为a , e , b , d , c , 后序遍历序列为b , c , d , e , a , 其中a 为这棵二叉树的根结点, 接下来, 在前序遍历的第二个结点为e , 而后序遍历的倒数第二个结点为e , 说明a 的孩子结点只有e 。
6. 对任意一棵树,设它有n 个结点,这n 个结点的度数之和为( )。
A.n
B.n ﹣2
C.n ﹣1
D.n +1
【答案】c
【解析】每个结点(除根节点外) 都是一个分支,即所有结点的度数之和等于分支个数等于总
, S 为符号位, E 的取值为, f 为23位;
的结点数减一,即n ﹣1。
7. 主机甲和主机乙之间已建立了一个TCP 连接,TCP 最大段长度为1000字节,若主机甲的当前拥塞窗口为4000字节,在主机甲向主机乙连续发送两个最大段后,成功收到主机乙发送的对第一个段的确认段,确认段中通告的接收窗口大小为2000字节,则此时主机甲还可以向主机乙发送的最大字节数是( ).
A.1000
B.2000
C.3000
D.4000
【答案】A
【解析】发送方的发送窗口的上限值应该取接收方窗口和拥塞窗口这两个值中较小的一个,于是此时发送方的发送窗口为min{4000,2000) =2000字节,由于发送方还没有收到第二个最大段的确认,所以此时主机甲还可以向主机乙发送的最大字节数为2000-1000=1000字节,正确选项为A.
8. 下列程常段的时间复杂度是( )
A.O()
B.O(n) C.O() D.O()
【答案】C
【解析】外部循环的退出条件是k>n, 而对于k , 每次循环都执行
内部循环的退出条件是j>n, 对于j , 每次循环都执行
) , 即选C 。 段的时间复杂度为O(
9. 在系统内存中设置磁盘缓冲区的主要目的是( )。
A. 减少磁盘次数
B. 减少平均寻道时间
C. 提高磁盘数据可靠性
D. 实现设备无关性
【答案】A
【解析】访问磁盘的开销远远大于访问内存的开销。磁盘缓冲区便是利用主存中的存储空间, 来暂存从磁盘中读出(或写入) 的信息, 频繁使用的一部分磁盘数据和信息, 暂时存放在磁盘缓存中, 可减少访问磁盘的次数。
, 所以循环次数为; , 所以每次循环次数为n 次。所以此程序
相关内容
相关标签