1. 程式人生 > >自定義樹(1):二叉樹

自定義樹(1):二叉樹

通過學習自定義樹,瞭解與樹相關的資料結構。

 

1)樹:n(n>=0)個結點的有限集。

結點的度:結點擁有的子樹的數目

葉子結點(終端結點):度為0的結點

分支結點(非終端結點):度不為0的結點

樹的度:樹中各結點的度的最大值

層次:根結點的層次為1,其餘結點的層次等於該結點的雙親結點的層次加1

樹的深度(高度):樹中結點的最大層次

2)森林

是指m(m>=0)棵互不相交的樹的集合。

3)二叉樹

二叉樹是每個結點最多有兩個子樹的樹結構。(不存在度大於2的結點)。

    3.1)滿二叉樹:二叉樹中所有分支結點的度數都為2,並且葉子結點都在統一層次上。

    3.2)完全二叉樹:對一棵具有n個結點的二叉樹按層序編號,編號為i(1<=i>=n)的結點與同樣的深度的滿二叉樹中編號為i的結點在二叉樹中的位置完全相同。

   完全二叉樹的特點:

①葉子結點只能出現在最下層和次下層,且最下層的葉子結點集中在樹的左部連續位置。倒數二層,若有葉子結點,一定在右部連續位置。

②一棵滿二叉樹必定是一棵完全二叉樹,而完全二叉樹未必是滿二叉樹。

③若結點的度為1,則該結點只有左孩子。

④同樣結點數的二叉樹,完全二叉樹的深度最小。

 

總結:二叉樹的性質

對性質3)和性質4)的證明: