怎么理解递归求二叉树高度
递归总是绕晕,不知道该怎么去思考,像求二叉树的高度
程序代码:int BTHeight(BTNode *bt)
{
int lchilddep, rchilddep;
if (bt == NULL)return 0;
else
{
lchilddep = BTHeight(bt->lchild);
rchilddep = BTHeight(bt->rchild);
return (lchilddep > rchilddep) ? (lchilddep + 1) : (rchilddep + 1);
}
}其中BTNode 是以二叉链存储结构定义的结点类型,含有两个指针 *lchild和*rchild分别指向左右子树
怎么理解这个递归算法?求解!










