- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
一、二叉树的性质
性质1、二叉树的第i层上至多有2i-1(i?1)个结点。用数学归纳法证明推广:k叉树(或度为k的树)的第i层上至多有ki-1(i?1)个结点
性质2、度为h的二叉树中至多含有2h-1个结点。21-1+22-1+……+2h-1=2h-1
推广:深度为h的k叉树(或度为k的树)中至多含有(kh-1)/(k-1)个结点k1-1+k2-1+……+kh-1=(kh-1)/(k-1)
性质3、若在任意一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则:n0=n2+1
证明:设:有n0个叶子结点,有n1个度为1的结点,有n2个度为2的结点,则二叉树中结点总数为:n=n0+n1+n2(1)
设分支的总数为m,则:m=n1+2n2(2)
因为n=m+1(3)
所以:n0+n1+n2=n1+2n2+1
整理得: n0=n2+1
推广:度为k的树有n个度为1的结点,n个度为2的结点,n个度为k的结点则n为:
1 2 k 0
k (i-1)n+1
??i
i=1
性质3推广的证明于性质3的证明
设:有n
0
个叶子结点,有n
1
个度为1的结点,n
2
个度为2的结点,n
k
个度为k的结点
则结点总数为:n=n+n+n+……+n(1)
0 1 2 k
设分支的总数为m,则:m=n+2n+……+kn
因为n=m+1(3)
1 2 k
所以:n
+n+n+……+n=n+2n+……+kn+1
0 1 2 k 1 2 k
整理得: n=0n+1n+……+(k-1)n+1
?0 1 2 k
?
性质4、具有n个结点的完全二叉树,其深度为?㏒
n+1
2
证明:设n个结点的完全二叉树的深度为k,根据性质2可知,k-1层满二叉树的结点总数
为:2k-1-1
k层满二叉树的结点总数为:2k-1
显然有:
2k-1-1n?2k-1 ? 2k-1?n2k
取对数有:k-1?lognk
2
因为k是整数,所以k-1=?log
n?,k=?㏒
n?+1
2 2
结论成立。
推广:具有n个结点的完全k叉树,其深度为?log(k-1)n? +1
k
设n个结点的完全k叉树的深度为h,根据性质2推广可知,
h-1层满k叉树的结点总数为:(kh-1-1)/(k-1)h层满二叉树的结点总数为:(kh-1)/(k-1)
显然有:
(kh-1-1)/(k-1)n?(kh-1)/(k-1)kh-1-1(k-1)n?kh-1
kh-1?(k-1)nkh
取对数有:h-1?log(k-1)nh
k
因为h是整数,所以h-1=?log
(k-1)n?,h=?log
(k-1)n? +1
k k
性质5、设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然
数1,2,3……,n给结点进行编号,则对于编号为k(k=1,2,……n)的结点有以下结论:
(1)若k=1,则该结点为根结点,它没有双亲结点;若k1,则该结点的双亲结点编号为[k/2]。(2)若2k=n,则编号为k的左孩子结点编号为2k;否则该结点无左孩子结点(显然也没有右孩子结点)。
若2k+1=n,则编号为k的右孩子结点编号为2k+1;否则该结点无右孩子结点
推广:一个深度为L的满K叉树有以下性质:第L层上的结点都是叶子结点,其余各层上每个结点都有K棵非空子树,如果按层次顺序从1开始对全部结点进行编号,求:
各层的结点的数目是多少?
编号为n的结点的双亲结点(若存在)的编号是多少?
编号为n的结点的第i个孩子结点(若存在)的编号是多少?
编号为n的结点有右兄弟的条件是什么?如果有,其右兄弟的编号是多少?
答:
(1)kh-1(h为层数)
(2)因为该树每层上均有Kh-1个结点,从根开始编号为1,则结点i的从右向左数第2个孩子的结点编号为ki。设n为结点i的子女,则关系式(i-1)k+2=n=ik+1成立,因i是整数,故结点n的双亲i的编号为?n-2)/k?+1。
结点n(n1)的前一结点编号为n-1(其最右边子女编号是(n-1)*k+1),故结点n的第i个孩子的编号是(n-1)*k+1+i。
根据以上分析,结点n有右兄
文档评论(0)