1. 程式人生 > >二叉樹的定義和性質

二叉樹的定義和性質

1.二叉樹的定義

二叉樹(Binary Tree)是另一種樹形結構它的特點是每個結點至多有兩棵子樹(即二叉樹中不存在度大於2的結點),並且,二叉樹的子樹有左右之分,其次序不能任一顛倒.

2.二叉樹的性質

性質1   在二叉樹的第i層上至多有2^(i-1)個結點(i >= 1).                                                                                                                          性質2   深度為k的二叉樹至多有2^k-1個結點,(k>=1).                                                                                                                              性質3   對任何一個二叉樹T,如果其終端結點數為n0,度為2的結點數為n2,則n0 = n2 + 1.                                                                       完全二叉樹和滿二叉樹是兩種特殊形態的二叉樹,一顆深度為k且有2^k-1個結點的二叉樹稱為滿二叉樹.深度為k的,有n個結點的二叉樹,當且僅當其每一個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時,稱之為完全二叉樹                                                性質4   具有n個結點的完全二叉樹的深度為\left \lfloor \log_{2}n \right \rfloor

 + 1.                                                                                                                        性質5   如果對一棵有n個結點的二叉樹(其深度為\left \lfloor \log_{2}n \right \rfloor + 1)的結點按層序編號(從第1層到第\left \lfloor \log_{2}n \right \rfloor + 1層,每層從左到右),則對任一結點i(1<=i<=n),有                                                                                                                                                                           (1)如果i = 1,則結點i是二叉樹的根,無雙親;如果i>1,則其雙親PARENT(i)是結點\left \lfloor i/2 \right \rfloor
.                                                                             (2)如果2i>n,則結點i無左孩子(結點i為葉子結點);否則其左孩子LCHILD(i)是結點2i.                                                                               (3)如果2i + 1 > n,則結點i無右孩子RCHILD(i)是結點2i + 1.