c语言五六章题库及答案,数据结构C语言版第五六章习题答案.doc

数据结构C语言版第五六章习题答案

第5章 树和二叉树

1.选择题

(1)把一棵树转换为二叉树后,这棵二叉树的形态是( )。

A.唯一的 B.有多种

C.有多种,但根结点都没有左孩子 D.有多种,但根结点都没有右孩子

(2)由3 个结点可以构造出多少种不同的二叉树?( )

A.2 B.3 C.4 D.5

(3)一棵完全二叉树上有1001个结点,其中叶子结点的个数是( )。

A.250 B. 500 C.254 D.501

(4)一个具有1025个结点的二叉树的高h为( )。

A.11 B.10 C.11至1025之间 D.10至1024之间

(5)深度为h的满m叉树的第k层有( )个结点。(1=

A.mk-1 B.mk-1 C.mh-1 D.mh-1

(6)利用二叉链表存储树,则根结点的右指针是( )。

A.指向最左孩子 B.指向最右孩子 C.空 D.非空

(7)对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )遍历实现编号。

A.先序 B. 中序 C. 后序 D. 从根开始按层次遍历

(8)若二叉树采用二叉链表存储结构,要交换其所有分支结点左、右子树的位置,利用( )遍历方法最合适。

A.前序 B.中序 C.后序 D.按层次

(9)在下列存储形式中,( )不是树的存储形式?

A.双亲表示法 B.孩子链表表示法 C.孩子兄弟表示法 D.顺序存储表示法

(10)一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足( )。

A.所有的结点均无左孩子 B.所有的结点均无右孩子

C.只有一个叶子结点 D.是任意一棵二叉树

(11)某二叉树的前序序列和后序序列正好相反,则该二叉树一定是( )的二叉树。

A.空或只有一个结点 B.任一结点无左子树

C.高度等于其结点数 D.任一结点无右子树

(12)若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则X的前驱为( )。

A.X的双亲 B.X的右子树中最左的结点

C.X的左子树中最右结点 D.X的左子树中最右叶结点

(13)引入二叉线索树的目的是( )。

A.加快查找结点的前驱或后继的速度 B.为了能在二叉树中方便的进行插入与删除

C.为了能方便的找到双亲 D.使二叉树的遍历结果唯一

(14)线索二叉树是一种( )结构。

A.逻辑 B. 逻辑和存储 C.物理 D.线性

(15)设F是一个森林,B是由F变换得的二叉树。若F中有n个非终端结点,则B中右指针域为空的结点有( )个。

A. n-1 B.n C. n+1 D. n+2

2.应用题

(1)试找出满足下列条件的二叉树

① 先序序列与后序序列相同 ②中序序列与后序序列相同

③ 先序序列与中序序列相同 ④中序序列与层次遍历序列相同

先序遍历二叉树的顺序是“根—左子树—右子树”,中序遍历“左子树—根—右子树”,后序遍历顺序是:“左子树—右子树―根",根据以上原则,本题解答如下:

(1)? 若先序序列与后序序列相同,则或为空树,或为只有根结点的二叉树

(2)? 若中序序列与后序序列相同,则或为空树,或为任一结点至多只有左子树的二叉树.

(3)? 若先序序列与中序序列相同,则或为空树,或为任一结点至多只有右子树的二叉树.

(4)? 若中序序列与层次遍历序列相同,则或为空树,或为任一结点至多只有右子树的二叉树

(2)设一棵二叉树的先序序列: A B D F C E G H ,中序序列: B F D A G E H C

①画出这棵二叉树。

②画出这棵二叉树的后序线索树。

③将这棵二叉树转换成对应的树(或森林)。

?

?

?

?

?

?

?

?

(1) (2)

(3) 假设用于通信的电文仅由8个字母组成,字母在电文中出现的频

你可能感兴趣的:(c语言五六章题库及答案)