當前位置:編程學習大全網 - 網站源碼 - Java數據結構二叉樹深度遞歸調用算法求內部算法過程詳解

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

  • 上一篇:車牌號碼識別系統哪裏有
  • 下一篇:如何把別人開發的微信小程序轉換為二維碼?
  • copyright 2024編程學習大全網