1 / 5
文档名称:

第6章 树和二叉树答案.doc

格式:doc   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第6章 树和二叉树答案.doc

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第6章 树和二叉树答案.doc

文档介绍

文档介绍:第六章答案
1分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
【解答】
具有3个结点的树具有3个结点的二叉树
,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点?
【解答】设树中结点总数为n,则n=n0 + n1 + ……+ nk
树中分支数目为B,则B=n1 + 2n2 + 3n3 + ……+ knk
因为除根结点外,每个结点均对应一个进入它的分支,所以有n= B + 1
即n0 + n1 + ……+ nk = n1 + 2n2 + 3n3 + ……+ knk + 1
由上式可得叶子结点数为:n0 = n2 + 2n3 + ……+ (k-1)nk + 1
,则该二叉树的总结点数至少应有多少个?
【解答】n0表示叶子结点数,n2表示度为2的结点数,则n0 = n2+1
所以n2= n0 –1=49,当二叉树中没有度为1的结点时,总结点数n=n0+n2=99
试分别找出满足以下条件的所有二叉树:
(1) 前序序列与中序序列相同;
(2) 中序序列与后序序列相同;
(3) 前序序列与后序序列相同。
【解答】
(1) 前序与中序相同:空树或缺左子树的单支树;
(2) 中序与后序相同:空树或缺右子树的单支树;
(3) 前序与后序相同:空树或只有根结点的二叉树。
假设通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为:
,,,,,,,
请为这8个字母设计哈夫曼编码。
【解答】
构造哈夫曼树如下:
哈夫曼编码为:
I1:11111 I5:1100
I2:11110 I6: 10
I3:1110 I7: 01
I4:1101 I8: 00

【解答】
,实现在中序线索二叉树T中查找给定结点*p在中序序列中的前驱与后继。在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。
(1)找结点的中序前驱结点
BiTNode *InPre (BiTNode *p)
/*在中序线索二叉树中查找p的中序前驱结点,并用pre指针返回结果*/
{ if (p->Ltag= =1) pre = p->LChild; /*直接利用线索*/
else
{/*在p的左子树中查找“最右下端”结点*/
for ( q=p->LChild; q->Rtag= =0; q=q->RChild);
pre = q;
}
return (pre);
}
(2)找结点的中序后继结点
BiTNode * (BiTNode *p)
/*在中序线索二叉树中查找p的中序后继结点,指针返回结果*/
{ if (p->Rtag= =1) = p->RChild; /*直接利用线索*/
else
{/*在p的右子树中查找“最左下端”结点*/
for ( q=p->RChild; q->Ltag= =0; q=q->LChild);
= q;
}
re