标签:
二叉树的性质
性质1:在二叉树的第i层上至多有2i-1个结点(i≥1)。(数学归纳法可证)
性质2:深度为k的二叉树最多有2k-1个结点(k≥1)。(由性质1,通过等比数列求和可证)
性质3:一棵二叉树的叶子结点数为n0,度为2的结点数为n2,则n0 = n2 + 1。
证:结点总数n = n0 + n1 + n2。设B为分支总数,因为除根节点外,其余结点都有一个分支进入,所以n = B + 1。又因为分支是由度为1或2的结点射出,所以B = n1 + 2n2。综上:n = n0 + n1 + n2 = B + 1 = n1 + 2n2 + 1,得出:n0 = n2 + 1。
性质4:具有n个结点的完全二叉树的深度为floor(log2n) + 1 。
性质5:如果对一棵有n个结点的完全二叉树(其深度为floor(log2n) + 1 )的结点按层序编号,则对任一结点i(1≤i≤n)有:
(1) 如果i = 1,则结点i是二叉树的根,无双亲;如果i > 1,则其双亲PARENT(i)是结点 floor((i)/2)。
(2)如果2i > n,则结点i无左孩子;否则其左孩子LCHILD(i)是结点2i。
(3)如果2i + 1 > n,则结点i无右孩子;否则其右孩子RCHILD(i)是结点2i + 1。
例题:
一颗完全二叉树上有1001个结点, 树的高度是多少? 其叶子结点的个是多少? 假如从1 开始编号,则编号最小的叶子结点编号为多少? 有多少条边? 解答:1.利用性质4,10 2.501 3.最后一个结点是1001,则其父节点编号500,500之后的结点全部为叶子结点,叶子结点为501个.并且第一个叶子结点编号也为501(巧合!!!!) 4.1000条边
如有错误之处,还请多多包涵,欢迎指正!!
标签:
原文地址:http://my.oschina.net/dadou/blog/492919