满二叉树的叶子节点(满二叉树的叶子节点和节点的关系)
一、二叉树的叶子结点是什么
如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。
可以根据公式进行推导,假设n0是度为0的结点总数(即叶子结点数),n1是度为1的结点总数,n2是度为2的结点总数,由二叉树的性质可知:n0=n2+1,则n=n0+n1+n2(其中n为完全二叉树的结点总数),由上述公式把n2消去得:n=2n0+n1-1,由于完全二叉树中度为1的结点数只有两种可能0或1,由此得到n0=(n+1)/2或n0=n/2,就可根据完全二叉树的结点总数计算出叶子结点数。
在求树的最大节点数时n1为0还是1要特别注意,有时n1既能为0又能为1,有时只有一种可能。
按常规的思路排好树后,如果最后一个叶子是一个右孩子并且它的父节点不是那一行中最后一个(n1=0的非满树),那就可以让该父节点的左边节点发展一个左孩子,得到一个n1,这时仍满足之前的性质,但总节点数n多了1。
二、深度为多少二叉树有12个节点
深度为[7,11]。由于二叉树只有2个叶子节点,所以度为0的节点N0=2,由二叉树的定理可知度为2的节点N2=N0-1,所以N2=1。度为1的节点N1=12(总节点数)-N0-N2=9。由此可知二叉树度为2的结点只有1个,因此当根节点的度为2,左右子树的深度为5和6时,整个二叉树的深度最浅为7,根节点的左右子树深度为10和1时,二叉树的深度最深为11。调整左右子树的深度即可让二叉树的深度位于7~11之间。
三、完全二叉树求叶子结点个数
题目给出的条件比较少,我们分两种情况说:
1、已知完全二叉树的结点有n个,求叶子数
对于二叉树,因结点严格按从上到下从左到右的顺序排列,因此它最多只有一个度为1的结点,且对于任意二叉树,度为0的叶子结点都比度为2的结点多一个,可知叶子结点数为?n/2?。
2、已知完全二叉树的高度为k,求叶子数
同上,因完全二叉树的结点排列规则,它的前k-1层实则是与满二叉树对应,有2^(k-1)-1个结点,第k层则最少1个结点,最多2^(k-1)个结点。因此高度为k的完全二叉树,叶子数范围在2^(k-1)至2^k-1之间。