1. 程式人生 > >二叉樹的5個性質

二叉樹的5個性質

先說一些基本概念吧

樹定義:

有且只有一個稱為根的節點,有若干個互不相交的子樹(本身也是一棵樹)。通俗地說樹是由節點和邊組成的,每個節點只有一個父節點但可以有多個子節點(根節點例外)
專業術語:
節點     父節點   子節點   子孫  堂兄弟 深度:從根節點到最底層節點的層數稱之為深度(根節點為第一層)
樹的深度:節點最大層次
葉子節點:沒有子節點的節點
非終端節點:就是非葉子節點(有子節點)
度:該點子節點的個數
樹的度:節點度最大值就是該樹的度
樹分類:
一般樹
任意一個子節點的個數都不受限制
二叉樹
任意一個節點的子節點個數最多為兩個,且子節點有序(左子樹,右子樹)
二叉樹-----
一般二叉樹

滿二叉樹
每一層的節點數都是最大節點數
完全二叉樹
每一個節點編號與滿二叉樹一一對應但不一定存滿,(滿二叉樹是特殊的完全二叉樹)
森林
是n個互不相交的樹的集合

性質一:在二叉樹的i層上至多有2 i-1個節點(i>=1)至少有1個

性質二:深度為k的二叉樹至多有2k-1個節點,至少為k個

性質三:對任何一棵二叉樹T,如果終端結點樹為n,度為2的結點為n2,度為0的結點為n0 則n0=n2+n1

性質四:具有n個節點的完全二叉樹的深度為[log2n]+1向下取整

性質五:如果有一顆有n個節點的完全二叉樹的節點按層次序編號,對任一層的節點i(1<=i<=n)有

    1.如果i=1,則節點是二叉樹的根,無雙親,如果i>1,則其雙親節點為[i/2],向下取整

    2.如果2i>n那麼節點i沒有左孩子,否則其左孩子為2i

    3.如果2i+1>n那麼節點沒有右孩子,否則右孩子為2i+1

    大家可以通過畫圖驗證以上性質