这个二叉树递归算法怎么实现的?
下面的算法是求二叉树高度的算法:先分别求左子树高度和右子树高度,最后用两者中的较大者+1即二叉树的高度。
我想问一下这个递归算法具体是怎么实现的,比如h1是怎么一步步递归最终求出高度(比如最后求出来是5,数字5是怎么求出来的呢?)?
还有就是整个程序的执行过程、顺序?在此先谢过了!O(∩_∩)O
int Height(BTree t)
{ int h1,h2;
if(t==NULL) return 0;
else
{
h1=Height(t->lchild);//求左子树高度(h1通过Height递归的过程是??)
h2=Height(t->rchild);//求右子树高度
if(h1>h2) return h1+1;
return h2+1;
}
}
注:我今晚又看了一遍,还不是很懂到底怎么递归的,恳请大家指点一下!谢谢了!
[解决办法]
先从树只有一个节点来考虑,然后是两个,这样你就想明白了
[解决办法]
可以自己设置断点调试下 就知道了撒