首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

这个二叉树递归算法如何实现的

2012-06-11 
这个二叉树递归算法怎么实现的?下面的算法是求二叉树高度的算法:先分别求左子树高度和右子树高度,最后用两

这个二叉树递归算法怎么实现的?
下面的算法是求二叉树高度的算法:先分别求左子树高度和右子树高度,最后用两者中的较大者+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;
  }
}
注:我今晚又看了一遍,还不是很懂到底怎么递归的,恳请大家指点一下!谢谢了!

[解决办法]
先从树只有一个节点来考虑,然后是两个,这样你就想明白了
[解决办法]
可以自己设置断点调试下 就知道了撒

热点排行