二叉樹的深度計算
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個節點的二叉樹,稱爲滿二叉樹 。這種樹的特點是每一層上的節點數都是最大節點數。而在一棵二叉樹中,除最後一層外,若其餘層都是滿的,並且最後一層或者是滿的,或者是在右邊缺少連續若干節點,則此二叉樹爲完全二叉樹。