永发信息网

Java数据结构二叉树深度递归调用算法求内部算法过程详解

答案:1  悬赏:60  手机版
解决时间 2021-11-17 08:52
Java数据结构二叉树深度递归调用算法求内部算法过程详解
最佳答案
二叉树
     1
  2    3
4  5 6  7
这个二叉树的深度是3,树的深度是最大结点所在的层,这里是3.
应该计算所有结点层数,选择最大的那个。
根据上面的二叉树代码,递归过程是:
f(1)=f(2)+1 > f(3) +1 ? f(2) + 1 : f(3) +1
f(2) 跟f(3)计算类似上面,要计算左右结点,然后取大者
所以计算顺序是f(4.left) = 0, f(4.right) = 0
f(4) = f(4.right) + 1 = 1
然后计算f(5.left) = 0,f(5.right) = 0
f(5) = f(5.right) + 1 =1
f(2) = f(5) + 1 =2
f(1.left) 计算完毕,计算f(1.right) f(3) 跟计算f(2)的过程一样。
得到f(3) = f(7) +1 = 2
f(1) = f(3) + 1 =3
if(depleft>depright){
    return depleft+1;
}else{
    return depright+1;
}只有left大于right的时候采取left +1,相等是取right
追问谢谢
那我一开始想的大致是对的罗?
为什么要用递归方法呢追答大致是对的。用递推代码比较简单吧,非递推需要借助其他数据结构来保存中间结果。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
java 给定2到15个不同的正整数,计算这些数里
歌词白茫茫的星光是什么歌曲
车子前杠撞坏,车险能报百分之几呢?
求解,沉鱼落雁,闭月羞花的出处?喻何人也?
游戏王魔法师卡组加不加黑衣大贤者
哪些小学奥数辅导班比较正规
台州市枫叶情老年公寓地址在什么地方,我要处
保利红街怎么样?好不好?值不值得买?
电动车怎么装双闪,
0.5mol氢气的质量是多少
江淮4.2米厢式货车4100康铃3代4吨货百公里耗
2.75-2又1/6-3又3/4+1又2/3
是那种刚上完厕所又想去为什么
盲人盖井盖应该是小心翼翼还是小心谨慎呢
机油底壳破了
推荐资讯
体彩6+1第18075期的开奖结果
蒜苔过开水一荡,放到冷冻行吗?
甲醇跟碳九和碳十能互溶吗?
一个人每天要喝多少水喝茶水好还是喝白开
5,324是由5个什么,3个什么,2个什么4个什么
比较分析不同汇率制度下一国的国际收支状况对
煎焗酱的做法
一首歌里歌词只记‘得还记得那些年,我们··
有没有一种骗术,说他从国外刚回国,不认识路,
新华字典等工具书是否具有法律效力
求找长沙蒙那利沙卫浴代理商电话
慈溪西站到慈溪客运西站怎么走
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?