樹與二叉樹(一)
阿新 • • 發佈:2017-06-27
color i++ add 表示 popu pop finished 不能 http
性質3: 具有n個結點的全然二叉樹的深度k為log2n+1。
樹
定義
樹是n(n≥0)個結點的有限集,它或為空樹(n=0)。或為非空樹
非空樹T滿足下面條件:
(1) 有且僅有一個稱為根的結點;
(2)除根結點以外的其余結點可分為m(m>0)個互補相交的有限集T1,T2,…Tm,當中每個集合本身又是一棵樹,而且稱為根的子樹。
空樹
一般的樹
基本術語
根———即根結點(沒有前驅)
葉子———即終端結點(沒有後繼)
森林———指m棵不相交的樹的集合
有序樹———結點各子樹從左至右有序,不能互換
無序樹———結點各子樹可互換位置。
雙親———即上層的那個結點(直接前驅)
孩子———即下層結點的子樹的根(直接後繼)
兄弟———同一雙親下的同層結點(孩子之間互稱為兄弟)
堂兄弟———即雙親位於同一層的結點(但並不是同一雙親)
祖先———即從根到該結點所經分支的全部結點
子孫———即該結點下層子樹種的任一結點
結點———即樹的數據元素
結點的度———結點掛接的子樹數
結點的層次———從根到該結點的層數(根結點算第一層)
終端結點———即度為0的結點,即葉子
分支結點———即度不為0的結點(也稱為內部結點)
樹的度———全部結點度中的最大值
樹的深度———指全部結點中最大的層數(或高度)
二叉樹
二叉樹是一種特殊的樹結構,普通樹若不轉化成二叉樹,則運算非常難實現
為什麽要重點研究二叉樹呢?
二叉樹的結構最簡單,規律性最強
全部的樹都能轉為唯一相應的二叉樹,不失一般性。
定義:
每個節點至多有兩個子樹。
基本特點:
- 結點的度小於等於2
有序樹(子樹有序。不能顛倒)
二叉樹的五種形態
二叉樹的性質
性質1 : 一棵非空二叉樹的第i層上最多有2^i-1個結點(i≥1)。
性質2 :若規定空樹的深度為0,則深度為k的二叉樹最多有(2^k)-1個結點
(k≥0)。
性質3: 具有n個結點的全然二叉樹的深度k為log2n+1。
性質4 :對於一棵非空二叉樹。假設度為0的結點數目為n0,度為2的結點數目為n2。則有n0= n2+1。
性質5 :對於具有n個結點的全然二叉樹,假設依照從上到下和從左到右的順序對全部結點從1開始編號,則對於序號為i的結點,有:
假設i>1,則序號為i的結點的雙親結點的序號為i/2(“/”表示整除)。假設i=1,則該結點是根結點,無雙親結點。
假設2i≤n,則該結點的左孩子結點的序號為2i;若2i>n。則該結點無左孩子。
假設2i+1≤n。則該結點的右孩子結點的序號為2i+1。若2i+1>n,則該結點無右孩子。
滿二叉樹:一棵深度為k且有2k-1個結點的二叉樹。
(意思是樹上掛滿了結點)
全然二叉樹:深度為k的,有n個結點的二叉樹,當且僅當其每個結點都與深度為k的滿二叉樹中編號從1至n的結點一一相應(意思是僅僅有最後一層葉子不滿,且全部集中在左邊)
Unfinished, see the next
樹與二叉樹(一)