2叉数的叶子节点的算法

论坛 期权论坛 期权     
zqxiao7   2018-4-26 14:05   4133   3
分享到 :
0 人收藏

3 个回复

倒序浏览
2#
热心网友  15级至尊 | 2018-4-30 01:52:35
  设二叉树的叶子节点数为n0,度数为2的节点数为n2.设n1为二叉树中度为1的节点数。因为二叉树中所有节点的度都等于2,所以二叉树节点总数n=n0+n1+n2再看二叉树的分支数,除了根节点外,其余节点都有一个分支进入,设B为分支总数,则n=B+1。由于这些分支都是有度为1或者2 的节点射出的,所以B=n1+n2;于是有:n=n1+2*n2+1;综合n=n0+n1+n2和n=n1+2*n2+1两式即可得到n0=n2+1;完全二叉树是特殊的二叉树,对于n0=n2+1当然成立。
  在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。
  二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^{i-1}个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树T,如果其终端结点数为n_0,度为2的结点数为n_2,则n_0=n_2+1。
  一棵深度为k,且有2^k-1个节点称之为满二叉树;深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中,序号为1至n的节点对应时,称之为完全二叉树。
  
3#
holpoirot  1级新秀 | 2018-4-30 01:52:36
设二叉树T,叶子节点数为n0,度为1的节点数为n1,度为2的节点数为n2。总节点数为n=n0+n1+n2。除根节点外,各节点都是由度为1或2的节点射出的,故n=1+n1+2n2。
根据这两个公式得到
n0=n2+1,可以由n2计算n0;
n0=(n+1-n1)/2可以由n和n1计算n0。
特别的,完全二叉树n1只能为1或0,满二叉树n1为0。
由深度计算n的方法我就不累述了。
4#
huihui5918  4级常客 | 2018-4-30 01:52:37
设二叉树T,叶子节点数为n0,度为1的节点数为n1,度为2的节点数为n2。总节点数为n=n0+n1+n2。除根节点外,各节点都是由度为1或2的节点射出的,故n=1+n1+2n2。
根据这两个公式得到.
n0=n2+1.可以由n2计算n0;
n0=(n+1-n1)/2可以由n和n1计算n0。
特别的,完全二叉树n1只能为1或0,满二叉树n1为0。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP