首页 > 代码库 > 数据结构--树的一些计算

数据结构--树的一些计算

先解释一下一些最基本的概念

结点的孩子结点个数即为该结点的度.
度为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