二叉树的深度的深度计算与完全二叉树、满二叉树概念

二叉树的深度计算
1、一颗树只有一个节点,它的深度是1;

2、二叉树的根节点只有左子树而没有右子树,那么可以判断,二叉树的深度应该是其左子树的深度加1;

3、二叉树的根节点只有右子树而没有左子树,那么可以判断,那么二叉树的深度应该是其右树的深度加1;

4、二叉树的根节点既有右子树又有左子树,那么可以判断,那么二叉树的深度应该是其左右子树的深度较大值加1。

int TreeDeep(struct node *T)
{
    int deep=0;
    if(T)
    {
        int ld=TreeDeep(T->l);
        int rd=TreeDeep(T->r);
        deep=ld>=rd?ld+1:rd+1;
    }
    return deep;
}

在这里插入图片描述
满二叉树与完全二叉树
一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树 。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。

你可能感兴趣的:(数据结构(浙大))