数据结构 第五章树答案

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章 树(答案)

一、选择题

1、二叉树的第i 层最多有( )个结点。

A .2i B. 2i C. 2i-1 D.2i -1

2.对于一棵满二叉树,高度为h ,共有n 个结点,其中有m 个叶子结点,则( )

A .n=h+m B.h+m=2n C.m=h-1 D.n=2h -1 3.在一棵二叉树中,共有16个度为2的结点,则其共有( )个叶子结点。

A .15 B.16 C.17 D.18

4. 一棵完全二叉树中根结点的编号为1,而且编号为23的结点有左孩子但没有右孩子,则此树中共有( )个结点。

A .24 B.45 C.46 D.47 5.下述编码那一组不是前缀码( )

A .00,01,10,11 B.0,1,00,11 C.0,10,110,111 D.1,01,001,000 6.某二叉树的中序序列和后序序列相同,则这棵二叉树必然是( )

A .空树

B .空树或任一结点均无左孩子的非空二叉树

C .空树或任一结点均无右孩子的非空二叉树

D .空树或仅有一个结点的二叉树

7.设n,m 为一棵二叉树上的两个结点,在中序遍历时,n 在m 前的条件是( )

A .n 在m 的右边 B.n 是m 的祖先

C .n 在m 的左边 D.n 是m 的子孙

8、假定中根遍历二叉树的定义如下:若二叉树为非空二叉树,则中根遍历根的右子树;访问根结点;中根遍

历根的左子树。按此定义遍历下图所示的二叉树,遍历的结果为: A 、 DBEAFHGC A B 、 C GHFADBE B C C 、 E BDAFHGC E D F

D 、 FHGCADB

E G

H

9、文中出现的字母为A 、B 、C 、D 和E ,每个字母在电文中出现的次数分别为9、27、3、5和11。按哈夫曼编码(构造时左小右大),则字母C 的编码应是:

A 、10

B 、0110

C 、1110

D 、1100 10、设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( )

A .5

B .6

C .7

D .8 11.算术表达式a+b*(c+d/e )转为后缀表达式后为( )

A .ab+cde/*

B .abcde/+*+

C .abcde/*++

D .12. 设有一表示算术表达式的二叉树(见下图),

它所表示的算术表达式是( )

A. A*B+C/(D*E)+(F-G)

B. (A*B+C)/(D*E)+(F-G)

C. (A*B+C)/(D*E+(F-G ))

D. A*B+C/D*E+F-G

13.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( ) A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D. -+A*BC/DE

14.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( )

A .9

B .11

C .15

D .不确定

15.树的后根遍历序列等同于该树对应的二叉树的( ).

A. 先序序列

B. 中序序列

C. 后序序列

16.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( )。

A .CBEFDA

B . FEDCBA

C . CBEDFA

D .不定 17.引入二叉线索树的目的是( )

A .加快查找结点的前驱或后继的速度

B .为了能在二叉树中方便的进行插入与删除

C .为了能方便的找到双亲

D .使二叉树的遍历结果唯一 18.下面几个符号串编码集合中,不是前缀编码的是( )。

A .{0,10,110,1111}

B .{11,10,001,101,0001}

C .{00,010,0110,1000}

D .{b,c,aa,ac,aba,abb,abc}

二、填空题

1.高度为h 的完全二叉树至少有2

h-1

个结点,至多有

2h

-1个结点。

2.对下图的二叉树进行遍历,其先序序列为abdcegf,中序序列为dbaegcf,后序序列为dbgefca

3.已知一棵完全二叉树的第7层有10 4.一棵完全二叉树共有1001个结点,其中叶子结点的个数是.

5.中缀式a+b*3+4*(c-d )若a=1,b=2,c=3,d=4,则后缀式db/cc*a-b*+

6.假设一棵二叉树的中序遍历序列为DCBGEAHFIJK 和后序序列为DCEGBFHKJIA 。请画出该树。

7.将下列由三棵树组成的森林转换为二叉树。(只要求给出转换结果)

8.设一棵二叉树的先序、中序遍历序列分别为

先序遍历序列: A B D F C E G H 中序遍历序列: B F D A G E H C

(1)画出这棵二叉树。

(2)画出这棵二叉树的后序线索树。

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

9.设通信中出现5中字符A、B、C、D、E对应的频率为0.2,0.1,0.5,0.15,0.25构造哈夫曼树,并给出对应字符的编码。

10.下列算法是输出一棵二叉树的第i层(根结点为第一层)上的所有结点的值。

tpedef struct Node{

int data;

struct Node *lchild,*rchild;

}BitNode;

void level(BitNode *T,int i)

{

if(T==NULL)

return;

if(i==1)

{ printf(“%d\n”,T->data);

return;

}

level( T->lchild,i-1);

level(T->rchild,i-1);

}

相关文档
最新文档