读书人

求二叉树的高度有关问题

发布时间: 2012-05-14 15:24:34 作者: rapoo

求二叉树的高度问题
int PostTreeDepth(BiTree root)
//后序遍历求二叉树的高度递归算法
{
int hl,hr,max;
if(root!=NULL)
{
hl=PostTreeDepth(root->LChild);//左子树的深度
hr=PostTreeDepth(root->RChild);//右子树的深度
max=hl>hr?hl:hr;//得到左右子树的较大者
return (max+1);//返回树的深度
}
else return 0;//如果是空树则返回0
}

求二叉树的高度递归算法时过程怎么个实现,,,说说具体的每一步应该执行什么样的语句,越详细越好,,,,谢谢,,


[解决办法]
你的代码不就是正确的思路吗?
主要的想法就是:如果一个指针为空,那么这个树的高度为0.如果这课树不为空,那么获得它的左子树的高度和右子树的高度,然后比较,取大者,并在这个值上加上自己节点的增量(1)。就这样递归实现的嘛

读书人网 >C语言

热点推荐