樹和二叉樹基本概念和性質

1、結點:樹中的一個獨立單元。包含一個數據元素及若於指向其子樹的分支,如上圖樹中的所有圓圈。

2、結點的度:結點擁有的子樹數稱爲結點的度。上圖樹中,A的度爲4,B的度爲2,G的度爲1,K的度爲0。

3、樹的度: 樹的度是樹內各結點度的最大值。上圖樹中,樹的度爲4。

4、葉子:度爲0 的結點稱爲葉子或終端結點。如上圖樹中的F、G、H等。

5、非終端結點:度不爲0 的結點稱爲非終端結點或分支結點。除根結點之外,非終端結點也稱爲內部結點。

6、雙親和孩子:結點的子樹的根稱爲該結點的孩子,相應地,該結點稱爲孩子的雙親。如上圖樹中,B的雙親爲A,B的孩子爲F、G。

7、兄弟:同一個雙親的孩子之間互稱兄弟。

8、祖先:從根到該結點所經分支上的所有結點。

9、子孫:以某結點爲根的子樹中的任一結點都稱爲該結點的子孫。

10、層次:結點的層次從根開始定義起,根爲第一層,根的孩子爲第二層。樹中任一結點的層次等千其雙親結點的層次加1。

11、堂兄弟:雙親在同一層的結點互爲堂兄弟。

12、樹的深度:樹中結點的最大層次稱爲樹的深度或高度。如上圖樹的深度爲5。

13、有序樹和無序樹:如果將樹中結點的各子樹看成從左至右是有次序的(即不能互換),則稱該樹爲有序樹,否則稱爲無序樹。在有序樹中最左邊的子樹的根稱爲第一個孩子,最右邊的稱爲最後一個孩子。

14、森林:是m (m>=0)棵互不相交的樹的集合。對樹中每個結點而言,其子樹的集合即爲森林。

二叉樹

1、二叉樹的5種形態:

  • 空二叉樹
  • 僅有根結點的二叉樹
  • 右子樹爲空的二叉樹
  • 左右樹均非空的二叉樹
  • 左子樹爲空的二叉樹

2、在二叉樹的第i層上至多有2^{i-1}個結點(i>=1)。

3、深度爲k的二叉樹至多有2^{k}-1個結點(k>=1)。

4、對任何一棵二叉樹T, 如果其終端結點數爲n,度爲2的結點數爲m,則n=m+1。 

5、滿二叉樹:深度爲k且含有2^{k}-1個結點的二叉樹,如下圖。滿二叉樹的特點是:每一層上的結點數都是最大結點數,即每一層il的結點數都具有最大值2^{i-1}

6、完全二叉樹:深度爲K的, 有n個結點的二叉樹, 當且僅當其每一個結點都與深度爲K的滿二叉樹中編號從1至n的結點一一對應時, 稱之爲完全二叉樹。如下圖。完全二叉樹的特點是:葉子結點只可能在層次最大的兩層上出現;(2)對任一結點, 若其右分支下的子孫的最大層次爲L, 則其左分支下的子孫的最大層次必爲L或L+1。

7、 具有n 個結點的完全二叉樹的深度爲\left \lfloor log_{2}n\right \rfloor+1\left \lfloor x \right \rfloor表示不大於x的最大整數。

8、如果對一棵有n 個結點的完全二叉樹(其深度爲\left \lfloor log_{2}n\right \rfloor+1) 的結點按層序編號(從第1 層到第\left \lfloor log_{2}n\right \rfloor+1層, 每層從左到右), 則對任一結點 i (1<=i<=n), 有:

  • 如果i =1 , 則結點 i 是二叉樹的根,無雙親;如果i>1 , 則其雙親PARENT(i)是結點\left \lfloor i/2\right \rfloor
  • 如果2i+1>n, 則結點 i 無左孩子(結點 i 爲葉子結點);否則其左孩子LCHILD(i)是結點2i=1。
  • 如果2i+1>n, 則結點無右孩子;否則其右孩子RCHILD(i)是結點2i+1。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章