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

2017年武汉大学遥感信息工程学院942数据结构考研强化模拟题

  摘要

一、填空题

1. 已知一循环队列的存储空间为环队列判满的条件是( )

【答案】

.

2.

每一棵树都能唯一地转换为它所对应的二叉树。若已知一棵二叉树的前序序列是中序序列是前庁序列是_____。

【答案】

【解析】树的抑序序列对应二叉树的前序序列. 该二叉树转换成森林吋含三棵树. 其第一棵树的前序是。

3. 对单链表中元素按插入方法排序的C 语言描述算法如下,其中L 为链表头结点指针。请填充算法中标出的空白处,完成其功能。

【答案】(1)(2)(3)(4)(5)

置空链表,然后将原链表结点逐个插入到有序表中

当链表尚未到尾,p 为工作指针

查P 结点在链表中的插入位置,这时q 是工作指针

将P 结点链入链表中

是q 的前驱,u 是下个待插入结点的指针

其中

队头和队尾指针分别为front 和rear , 则此循

,则它的后庁序列是_____。设上述二叉树是由某棵树转换而成,则该树的

4. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。

【答案】

5. 根据线性表的链式存储结构中每一个结点包含的指针个数,将线性链表分成_____和_____; 而又根据指针的连接方式,链表又可分成_____和_____。

【答案】单链表;双链表;(动态)链表;静态链表

【解析】线性表的链式存储结构根据每个结点包含的指针个数分为单链表和双链表,单链表只包含一个指针,指向后续元素,双链表包括两个指针,指向前一个元素和后续元素。根据指针的连接方式,链表可分为动态链表和静态链表。静态链表的指针指向下一个元素的编号,动态链表的指针指向下一个元素的物理位置。

6. 有五个数据依次入栈:1,2, 3, 4, 5。在各种出栈的序列中,以3, 4先出栈的序列有_____。(3在4之前出栈)

【答案】3个

【解析】以3, 4先出栈的序列有34521、34215、34251共3个。

7. 已知链队列的头尾指针分别是f 和r , 则将值x 入队的操作序列是_____。

【答案】

【解析】队列采用链式存储结构,先分配一个节点的内存,然后在队尾添加该节点。

8. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。

【答案】稳定

9. 对于双向链表,在两个结点之间插入一个新结点需修改的指针共_____个,单链表为_____个。

【答案】4; 2

10.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的_____和记录的_____,

【答案】比较;移动

11.关键码序列(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 )的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

12.从平均时间性能而言,_____排序最佳。

【答案】快速

【解析】快速算法的平均时间复杂度为nlogn 。

二、选择题

13.

对( )。

A. 该树一定是一棵完全二叉树 B. 树中一定没有度为1的结点

C. 树中两个权值最小的结点一定是兄弟结点

D. 树中任一非叶结点的权值一定不小于下一层任一结点的权值 【答案】A

【解析】哈夫曼树为带权路径长度最小的二叉树,但不一定是完全二叉树,选项A 错误;哈夫曼树中没有度为1的结点,选项B 正确;构造哈夫曼树时,最先选取两个权值最小的结点作为左右子树构造一棵新的二叉树,C 正确;哈夫曼树中任一非叶结点P 的权值为其左右子树根结点权值之和,其权值不小于其左右子树根结点的权值,在与结点P 的左右子树根结点处于同一层的结点中,若存在权值大于结点P 权值的结点Q ,那么结点Q 与其兄弟结点中权值较小的一个应该与结点P 作为左右子树构造新的二叉树,由此可知,哈夫曼树中任一非叶结 点的权值一定不小于下一层任一结点的权值。

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

A.115 B.116 C.1895 D.1896 【答案】D

【解析】每个非终端结点转换成二叉树后都对应一个无右孩子的结点(因为一个非终端结点,另外,树根结点转至少有一个孩子结点,其最右边的孩子结点转换成二叉树后一定没有右孩子)

换成二叉树后也没有右孩子。题目中树的总结点数是2011,叶结点个数是116, 则非终端结点个数是2011-116=1895, 则该树对应的二叉树中 无右孩子的结点个数是1895+1=1896。

15.下列有关总线定时的叙述中,错误的是( )。

A. 异步通信方式中,全互锁协议最慢 B. 异步通信方式中,非互锁协议的可靠性最差 C. 同步通信方式中,同步时钟信号可由多设备提供 D. 半同步通信方式中,握手信号的采样由同步时钟控制

个权值均不相同的字符构成哈夫曼树。下列关于该哈夫曼树的叙述中,错误的是