当前位置:问答库>考研试题

2018年天津城建大学计算机学院825工程信息技术[专业硕士]之数据结构考研基础五套测试题

  摘要

一、单项选择题

1. 下列选项中, 不能构成折半查找中关键字比较序列的是( )。

A.500, 200, 450, 180

B.500, 450, 200, 180

C.180, 500, 200, 450

D.180, 200, 500, 450

【答案】A

【解析】折半查找的过程是:先确定待查找记录所在的范围, 然后逐步缩小范围直到找到或找不到该记录为止。折半查找的关键字序列满足:对每一个关键字, 其后面的所有关键字序列或者都小于等于该关键字或者都大于等于该关键字。A 项错误, 第三次比较的关键字为450, 说明待查关键字位于200〜450间, 所以第四次比较时不会遇到关键字180。

2. 一个C 语言程序在一台32位机器上运行. 程序中定义了3个变量x 、Y 和z ,其中x 和z 为int

Y 为short 型. 当x =127,Y =-9时,x 、Y 和z 的值分别是. 型,执行赋值语句z =x +Y 后,( )

A.x =0000007FH , Y =FFF9H , z =00000076H

B.x =0000007FH , Y =FFF9H , z =FFFF0076H

C.x =0000007FH , Y =FFF7H , z =FFFF0076H

D.x =0000007FH , Y =FFF7H , z =00000076H

【答案】D

【解析】当两个不同长度的数据,要想通过算术运算得到正确的结果,必须将短字长数据转换成长字长数据,这被称为“符号扩展”.例如,x 和z 为int 型,数据长32位,Y 为short 型,数据长16位,因此首先应将y 转换成32位的数据,然后再进行加法运算.

运算采用补码的形式,而x 的补码是0000007FH ,Y 的补码是FFFFFFF7H ,所以x +Y =00000076H.

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. 二叉树在线索化后,仍不能有效求解的问题是( )。

A. 前序线索二叉树中求前序后继

B. 中序线索二叉树中求中序后继

C. 中序线索二叉树中求中序前驱

D. 后序线索二叉树中求后序后继

【答案】D

【解析】后序线索二叉树求后序后继要分3种情况,比较复杂,不是仅仅线索化后就能求解的,算法上还要要分情况讨论。

5. 图的BFS 生成树的树高比DFS 生成树的树高( )。

A. 小或相等

B. 小

C. 大或相等

D. 大

【答案】A

【解析】BFS 称作广度优先搜索,DFS 称作深度优先搜索。广度优先搜索类似与二叉树的层序遍历算法,深度优先搜索类似于树的先序遍历。因为深度优先搜索算法遵循的策略是尽可能的“深”地搜索一个图。所以图的BFS 生成树的树髙比DFS 生成树的树高小或者相等。

6. 已知一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,则该完全二叉树的结点个数最多是( ).

A.39

B.52

C.111

D.119

【答案】C

【解析】完全二叉树的一个特点是:叶子结点只能出现在最下层和次下层. 题目中没有说明完全二叉树的高度,首先由完全二叉树的特点确定题目中树的高度. 根据题意,一棵完全二叉树的第6层(设根为第1层) 有8个叶结点,可知此二叉树的高度是6或7. 题目中求二叉树的结点数最多的情况,因此此完全二叉树的高度为7. 由于高度为7的完全二叉树的前6层是一棵满二叉树,根据二叉树的性质2可知,高度为6的满二叉树的结点数是

目中二叉树的第6层结点数是. 又根据二叉树的性质1可知,题个结点,已知有8个叶子结点,那么其余32﹣8=24个结点均为分支结点,这些结点在第7层上最多有48个子结点(即叶子结点). 所以此二叉树的结点数最多 可达

7. 已知一棵有2011个结点的树, 其叶结点个数为116, 该树对应的二叉树中无右孩子的结点个数是( )。

A.115

B.116

C.1895

D.1896

【答案】D

【解析】每个非终端结点转换成二叉树后都对应一个无右孩子的结点(因为一个非终端结点至少有一个孩子结点, 其最右边的孩子结点转换成二叉树后一定没有右孩子) , 另外, 树根结点转换成二叉树后也没有右孩子。题目中树的总结点数是2011, 叶结点个数是116, 则非终端结点个数是2011-116=1895, 则该树对应的二叉树中无右孩子的结点个数是1895+1=1896。

8. 已知广义表LS =((a,b ,c) ,(d,e ,f)) , 用head 和tail 数取出LS 中原子e 的运算是( )。

A.head(tail(LS))

B.tail(head(LS))

C.head(tail(head(tail(LS)))

D.head(tail(tail(head(LS))))

【答案】C

【解析】head 操作就是得到广义表中第一个的原子。tail 操作就是得到除第一个原子外剩下元素构成的表。tail(LS)得到((d,e ,f)) ,head(tail(LS))得到(d,e ,f)tail(head(tail(LS)))得到(e,f) ,head(tail(head(tail(LS))) 得到e 。

9. 假设磁头当前位于第105道,正在向磁道序号增加的方向移动. 现有一个磁道访问请求,序列为35,45,12,68,110,180,170,195,采用SCAN 调度(电梯调度) 算法得到的磁道访问序列是( ).

A.110, 170, 180, 195, 68, 45, 35, 12

B.110, 68, 45, 35, 12, 170, 180, 195

C.110, 170, 180, 195, 12, 35, 45, 68

D.12, 31, 45, 68, 110, 170, 180, 195