求二叉树的高度(深度)
对于二叉树,树的高度和深度相等,对于某个节点来说就不一样了。
二叉树根节点的深度是0或者1,取决于教材
struct Node{
int val;
Node* left;
Node* right;
};
int findHeight(Node* root){
if(root == NULL)
return -1;
return max(findHeight(root->left), findHeight(root->right)) + 1;
}
2018.9.24
二叉树的叶子节点没有子节点, 所以度为0,二叉树节点数 =
n
0
+
n
1
+
n
2
n_{0} + n_{1} + n_{2}
n0+n1+n2 ,
n
0
,
n
1
,
n
2
n_{0}, n_{1}, n_{2}
n0,n1,n2, 分别表示度为0,1,2的节点。且
n
0
=
n
2
+
1
n_{0} = n_{2} + 1
n0=n2+1
深度为k(k>=1,根节点深度为1)的二叉树的最大节点数为
2
k
−
1
\ 2^k -1
2k−1