一、填空题
1.
给定一组数据
的值为_____。 【答案】5;96
【解析】每次找两个最小的权值构建哈夫曼树:
以它构造一棵哈夫曼树,则树高为_____,
带权路径长度
2. 在二叉树中,指针p 所指结点为叶结点的条件是_____。
【答案】
【解析】叶子节点的左右孩子都不存在。
3. 在有n 个顶点的有向图中,每个顶点的度最大可达。
【答案】2(n-l )
【解析】当有向图为完全连通图时每个顶点的度达到最大,出度入度均为n-1。
4. 数据结构中评价算法的两个重要指标是_____。
【答案】算法的时间复杂度和空间复杂度
5. 循环队列的引入,目的是为了克服_____。
【答案】假溢出时大量移动数据元素
【解析】用数组实现队列时,如果不移动,随着数据的不断读写,会出现假满队列的情况。即尾数组已满但头数组还是空的。循环队列也是一种数组,引入循环队列,有效克服假溢出大量移动数据元素的问题。
6. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】树。故结点个数为
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉
7. 当广义表中的每个元素都是原子时,广义表便成了_____。
【答案】线性表
【解析】如果每个元素都是原子,则元素不可分。此时的元素是只有一对一的关系,所以广义表变成了线性表。
8. —棵左子树为空的二叉树在前序线索化后,其中的空链域的个数为 _____。
【答案】2
【解析】只有根结点的做指针为空和最右边的叶结点的右指针为空。
9. 下面程序的功能是用递归算法将一个整数按逆序存放到一个字符数组中。如123存放成321。请填空:
【答案】
【解析】通过递归算法,首先找到最高位的值,将其放到str 对应的数组中,依次反向获取从高位到地位的值,将其放到数组中,完成了将整数逆序放到一个字符数组中。
10.对于一个具有n 个结点的单链表,在已知的结点半p 后插入一个新结点的时间. 复杂度为_____,在给定值为x 的结点后插入一个新结点的时间复杂度为_____。
【答案】
【解析】第一种情况只需直接修改指针的指向。第二种情况必须从头结点遍历找到x 的结点。
二、选择题
11.已知有向图G=(V ,E ),其中
G 的拓扑序列是
( )。
【答案】A
【解析】设G=(V ,E )是一个具有n 个顶点的有向图,V 中顶点序列
能被称
,则在序列中顶点Vi 为拓扑序列的条件:若是图中的边(即从顶点V i 到V j 有一条路径)
必须排在顶点Vj 之前。根据上面拓扑序列的定义,就可以得出G 的拓扑序列
是
12.在采用中断I/O方式控制打印输出的情况下,CPU 和打印控制接口中的I/O端口之间交换的信息不可能是( )。
A. 打印字符 B. 主存地址 C. 设备状态 D. 控制命令 【答案】B
【解析】I/O接口的功能包括:①选址功能;②传送命令功能;③传送数据功能;④反映I/O设备工作状态功能。A 项为数据,C 项为设备状态,D 项为命令。B 项,主存地址在中断方式控制下是不需要的,因此,它不可能是CPU 和打印控制接口中的I/O端口之间交换的信息。
13.若对如下无向图进行遍历,则下列选项中,不是广度优先遍历序列的是( )
A. B. C. D.
【答案】D
【解析】根据广度优先遍历的定义,可知选项A 、B 、C 都为广度优先遍历,而选项D 是深度优先遍历而不是广度优先遍历,故答案为D 。
14.Cache 有4个行,Cache 和主存之间交换的块大小为1个字。假设某计算机按字编址,若Cache 的内容初始为空,采用2路组相联映射方式和LRU 替换算法,当访问的主存地址依次为0, 4, 8, 2, 0, 6, 8, 6, 4, 8时,命中Cache 的次数是( )。
A.1 B.2 C.3 D.4
【答案】C 。
【解析】Cache 有4个行,2路组相联,即Cache 被分成2组,每组2行。主存地址为0〜1、4〜5、8〜9 可映射到第0组Cache 中,主存地址为2〜3、6〜7可映射到第1组Cache 中。Cache 初始为空,采用LRU 替换算法,当访问主存的10个地址依次为0, 4,8, 2, 0, 6,8, 6, 4, 8时,