度和结点数和叶子结点数

如题所述

树的结点数与度数关系度:节点所拥有的子树的数目称为该节点的度   叶子节点的度为0。节点数目=所有节点度数之和+1。

完全二叉树的叶子节点数公式为:设叶子节点数为n0,度为1的节点数为n1,度为2的节点数为n2,总节点为n。

当n为奇数时(即度为1的节点为0个),n0=(n+1)/2。

当n为偶数(即度为1的节点为1个),n0=n/2。

n1,n2,都可以求。

完全二叉树的性质:

具有n个结点的完全二叉树的深度为logn+1。

如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i,有:

如果i=1,则结点i是二叉树的根节点,无双亲;如果i>1,则其双亲是结点⌊i/2⌋。

如果2i>n,则结点i无左孩子;否则其左孩子是结点2i。

如果2i+1>n,则结点i无右孩子;否则其右孩子是结点2i+1。

完全二叉树叶子结点计算方法:

1>如果树为空,则直接返回错。

2>如果树不为空,层序遍历二叉树。

2.1>如果一个结点左右孩子都不为空,则pop该节点,将其左右孩子入队列。

2.2>如果遇到一个结点,左孩子为空,右孩子不为空,则该树一定不是完全二叉树。

2.3>如果遇到一个结点,左孩子不为空,右孩子为空;或者左右孩子都为空,且则该节点之后的队列中的结点都为叶子节点,该树才是完全二叉树,否则就不是完全二叉树。

需要注意的是,满二叉树肯定是完全二叉树,而完全二叉树不一定是满二叉树。

完全二叉树叶子结点性质

如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1≤i≤n)有:如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲parent(i)是结点【i/2】;如果2i>n,则结点i无左孩子,否则其左孩子lchild(i)是结点2i;如果2i+1>n,则结点i无右孩子,否则其右孩子rchild(i)是结点2i+1。

如果对满二叉树的结点进行编号,约定编号从根结点起,自上而下,自左而右。则深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。

从满二叉树和完全二叉树的定义可以看出,满二叉树是完全二叉树的特殊形态,即如果一棵二叉树是满二叉树,则它必定是完全二叉树。



温馨提示:答案为网友推荐,仅供参考
相似回答