数据结构--树的一些计算
先解释一下一些最基本的概念
结点的孩子结点个数即为该结点的度.
度为0的结点叫叶子结点.
处在树的最顶端(没有双亲)的结点叫根结点.
介绍一下公式
k:总度数
k+1:总节点数
为什么总节点数肯定比总度数多1呢?其实很简单可以解释,度可以看作节点与节点之间的线,多1就是显而易见的
设该二叉树总结点数为N,叶子结点个数为n0,度为1的结点个数为n1.度为2的节点个数为n2
下面可得两等式:
(1) N = n2 + n0 + n1;
依据:很显然,二叉树总结点数等于度分别为0,1,2的结点个数总和.
(2) N = 2n2 + n1 +1;
依据:二叉树的树杆(即左右斜线)数等于总结点数减1,这个隐含的条件很关键哦!!
由(1)(2)两式即可求得: n0=n2+1;
我们来看看这个题目
设一棵二叉树中有3个叶子结点,有8个度为1的结点,则该二叉树中总的结点数为()
3个叶子节点就是n0=3
由公式可得n2=2
总节点数就是n0+n1+n2=13