完全二叉樹與完全二叉樹
二叉樹是指每個節點都有一個或兩個子節點的樹。在二叉樹中,一個節點不能有兩個以上的子節點。在二叉樹中,子項被命名為“左”和“右”子項。子節點包含對其父節點的引用。完全二叉樹是一種二叉樹,除最後一級外,二叉樹的每一級都被完全填滿。從最左邊的位置開始連接節點。完整二叉樹是一種樹,其中除了樹的葉子外,樹中的每個節點都有兩個子樹。
什麼是完全二叉樹?
完全二叉樹是一種二叉樹,樹中的每個節點都有零或兩個子節點。換句話說,樹中除了葉子之外的每個節點都有兩個子節點。下面的圖1描述了一個完整的二叉樹。在一個完整的二叉樹中,節點數(n)、從節點數(l)和內部節點數(i)以一種特殊的方式相關,如果您知道其中任何一個,則可以確定其他兩個值,如下所示:
1如果完整的二叉樹有i個內部節點:
–葉數l=i+1
–節點總數n=2*i+1
2如果完整的二叉樹有n個節點:
–內部節點數i=(n-1)/2
–葉數l=(n+1)/2
三。如果一棵完整的二叉樹有l葉:
–節點總數n=2*l-1
–內部節點數i=l-1
什麼是完全二叉樹?
如圖2所示,完整的二叉樹是一種二叉樹,其中除了最後一級外,樹的每一級都被完全填充。另外,在最後一級,節點應該從最左邊的位置開始連接。高度h的完全二叉樹滿足以下條件:
–從根節點開始,最後一個級別以上的級別表示高度為h-1的完整二叉樹
–最後一級的一個或多個節點可以有0或1個子節點
–如果a、b是上一級上的兩個節點,則當且僅當a位於b的左側時,a的子節點數多於b
完全二叉樹和完全二叉樹有什麼區別?