完全二叉树叶子节点的个数

【转载】地址:云中孤鹜

题目:一个具有n个节点的完全二叉树,其叶子节点的个数为多少?

分析:

       设叶子节点个数为n0,度为1的节点个数为n1,度为2的节点个数为n2

       侧有 

                n0+n1+n2=n                (1)

       对于二叉树有:

                n0=n2+1                       (2)

       由(1)(2) ==>

                n0=(n+1-n1)/2              (3)

       由完全二叉树的性质可知:n1=0 或 1

总结:

        (a):当n1=0时(即度为1的节点为0个时,此时n为奇数)或者n为奇数时

              n0= (n+1)/2;

        (b):当n1=1时(即度为1的节点为1个时,此时n为偶数)或者n为偶数

             n0= n/2;

      综合(a)(b)可得:

        (结论):一个具有n个节点的完全二叉树,其叶子节点的个数n0为: n/2 向上取整,或者(n+1)/2 向下取整

    原文作者:算法小白
    原文地址: https://www.cnblogs.com/-rfq/articles/8507274.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞