证明二叉树节点数公式

Posted tekikesyo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了证明二叉树节点数公式相关的知识,希望对你有一定的参考价值。

n0 叶节点总数

n1 只有1个孩子的节点总数

n2 有2个孩子节点的总数

有: n0=n2+1

不那么严密地证明一下:

假设有完美二叉树1个, 共k层

那么最下层k层就是n0=2^(k-1)

再上面一层k-1层之上, 总共的节点, 其实都是有2个孩子的节点, 即 n2=2^(k-1) -1

代换一下就是 n2=n0-1

 

然后, 我们把完美二叉树 向 完全二叉树 推理.

在上面完美二叉树基础上,

从右下, 减一个节点, 这样造成的结果是, n0少了1个, 然后n2少了一个, n1多了一个. 所以n2和n1的关系不变.

然后再右下减一个节点,n0并没有减少, 因为少了两个叶子之后, 这两个叶子的父节点就变成叶子了. 所以n0不变,n2也不变.n2=n0+1 关系不变.

 

然后, 把完全二叉树向一般二叉树 推理

在上面完全二叉树的基础上,

从左下, 减少一个节点,.... 同上证明~~~

 

以上是关于证明二叉树节点数公式的主要内容,如果未能解决你的问题,请参考以下文章

算法总结:左神—利用二分查找思想:完全二叉树节点数,求一个整数k的N次方

左偏树的关系

非递归算法求二叉树叶子节点数

二叉树算法之1-计算二叉树第k层节点个数

二叉树的外路径长、内路径长及相互关系公式证明

植树节|我们来种棵二叉树