n个叶子节点的严格二叉树必有n-1个非叶子节点的证明
2012-11-06 19:42
246 查看
严格二叉树,这个定义就百度上有,维基百科都没查到。
严格二叉树的定义:如果一颗二叉树的每个非终端节点都有且仅有两棵子树,则称这颗二叉树为严格二叉树。摘自百度百科。
简单的说,没有度为1的结点的二叉树,被称之为严格二叉树。如下图就是一颗严格二叉树。
下图就不是一棵严格二叉树,因为结点5,9的度数都是1.
首先证明一个问题,对于有n个叶子的严格二叉树,必定有n-1个非叶子节点。即严格二叉树中,度数为0的叶子节点有n个,那么度数为2的节点数必定为n-1个。不论树的形态是怎样。
用数学归纳法证明。
对于只有2个叶子的严格二叉树,那只有1个根结点。
如下图:
假设有k个叶子的严格二叉树有k-1个非叶子节点,那么对k+1个叶子节点的严格二叉树,
就相当于在k个叶子的严格二叉树上再扩展加一个叶子。如下图是一个有着k个叶子节点的严格二叉树
要在上面的树上多出一个叶子节点,并且使之仍然是一颗严格二叉树,只能在任意一个叶子节点增加2个叶子节点,这样操作,会,减去原先的一个叶子节点,同时会多出一个非叶子节点。也就是说,总的来说会多一个叶子节点和一个非叶子节点。即原来的k个节点的严格二叉树,有k-1个非叶子节点。而k+1个节点的严格二叉树,会有k个非叶子节点。
因此对于k+1,也成立。
因此采用数学归纳法得到证明。
本文出自 “一只博客” 博客,请务必保留此出处http://cnn237111.blog.51cto.com/2359144/1051946
严格二叉树的定义:如果一颗二叉树的每个非终端节点都有且仅有两棵子树,则称这颗二叉树为严格二叉树。摘自百度百科。
简单的说,没有度为1的结点的二叉树,被称之为严格二叉树。如下图就是一颗严格二叉树。
下图就不是一棵严格二叉树,因为结点5,9的度数都是1.
首先证明一个问题,对于有n个叶子的严格二叉树,必定有n-1个非叶子节点。即严格二叉树中,度数为0的叶子节点有n个,那么度数为2的节点数必定为n-1个。不论树的形态是怎样。
用数学归纳法证明。
对于只有2个叶子的严格二叉树,那只有1个根结点。
如下图:
假设有k个叶子的严格二叉树有k-1个非叶子节点,那么对k+1个叶子节点的严格二叉树,
就相当于在k个叶子的严格二叉树上再扩展加一个叶子。如下图是一个有着k个叶子节点的严格二叉树
要在上面的树上多出一个叶子节点,并且使之仍然是一颗严格二叉树,只能在任意一个叶子节点增加2个叶子节点,这样操作,会,减去原先的一个叶子节点,同时会多出一个非叶子节点。也就是说,总的来说会多一个叶子节点和一个非叶子节点。即原来的k个节点的严格二叉树,有k-1个非叶子节点。而k+1个节点的严格二叉树,会有k个非叶子节点。
因此对于k+1,也成立。
因此采用数学归纳法得到证明。
本文出自 “一只博客” 博客,请务必保留此出处http://cnn237111.blog.51cto.com/2359144/1051946
相关文章推荐
- 二叉树的前、中、后序遍历(递归和非递归)、层序遍历、深度、叶子节点个数
- 由先序遍历序列和中序遍历序列恢复二叉树以及统计叶子节点个数和树的深度
- 二叉树的叶子节点、第K层节点/数组中数字次数超过数组长度的一般
- 求二叉树叶子节点的个数/求二叉树第k层的节点个数。
- 二叉树中叶子节点的个数第K层的节点个数
- 输出二叉树的叶子节点
- 计算二叉树中叶子节点的数目
- 二叉树的叶子节点(二叉树)
- 二叉树(遍历 树高 叶子节点个数)
- 二叉树中叶子节点的个数
- 第10周SHH数据结构-【项目3 -求二叉树b的叶子节点个数 . 】
- c++实现二叉树的查找,插入,删除,深度,叶子节点数,度为1的节点数(递归方法)及运行实例结果
- 112. Path Sum | 二叉树到根节点到叶子节点的和
- 二叉树的建立、遍历、叶子节点计数、深度计算
- 二叉树中叶子节点的个数(非递归)
- 数据结构:二叉树,二叉树的前中后序、层序遍历(递归法,非递归法),得到一个数叶子节点的个数……
- 二叉树:利用两个队列层次遍历输出指定层数的叶子节点
- 二叉树--求二叉树叶子节点的个数/求二叉树第k层的节点个数。
- 求二叉树中距离最远的两个叶子节点的距离
- 笔试题:求二叉树叶子节点的个数