求二叉树深度的函数
/**********************树的深度**************************/int BTNodeDepth(BTNode *b) /*求二叉树b的深度*/
{
int lchilddep,rchilddep;
if (b==NULL)
return(0); /*空树的高度为0*/
else
{
lchilddep=BTNodeDepth(b->lchild); /*求左子树的高度为lchilddep*/
rchilddep=BTNodeDepth(b->rchild); /*求右子树的高度为rchilddep*/
return (lchilddep>rchilddep)? (lchilddep+1):(rchilddep+1);
}
} //BTNodeDepth
这个函数的递归过程是怎样的啊?? 我怎么感觉不到lchilddep值和rchilddep的变化啊?? 求讲解一下递归的过程,是怎样求出它的lchilddep值和rchilddep的??