用陣列來儲存二叉樹,必須用完全二叉樹的形式來實現。滿二叉樹是完全二叉樹的乙個特例。完全二叉樹下面乙個都不刪是滿二叉樹。
二叉樹的儲存:
連續儲存(完全二叉樹)。二叉樹是非線性的,陣列是線性的(記憶體也是線性的)。要將非線性的結構存入線性的陣列。
缺點:浪費空間。
優點:用完全二叉樹。若知道結點的個數(樹的度),就能知道層數(樹的深度)。已知任何乙個結點編號,可以知道其父結點即有沒有子結點。(用陣列儲存)
鏈式儲存: 優點:浪費空間少,n個結點只浪費n+1個空間(浪費空指標域)
缺點:求父結點麻煩。
一般樹的儲存:雙親表示法(求父結點方便)、孩子表示法(求子結點方便)、雙親孩子表示法(求父結點和子結點都很方便)、
二叉樹表示法:
設法保證任意乙個結點的左指標域指向它的第乙個孩子,右指標域指向它的下乙個兄弟。只要能滿足此條件,就可以把乙個普通的樹轉化成二叉樹。
1個普通的樹轉化成二叉樹,一定沒有右子樹。
資料結構學習筆記 B B 樹
b 樹是一種非二叉的查詢樹,即一般化的bst,除了要滿足查詢樹的特性外,還滿足以下特性 一棵m階的b樹 所有的葉子節點位於同一層 如,m 3 b 樹的搜尋,從根結點開始,對結點內的關鍵字 有序 序列進行二分查詢,如果命中則結束,否則進入查詢關鍵字所屬範圍的兒子結點 重複,直到所對應的兒子指標為空,或...
資料結構學習 樹
樹結構是二叉樹的擴充套件,二叉樹在乙個節點上只有兩個子節點,而樹結構在乙個節點上不只有兩個,可以有n個,n大於等於0,更具有一般意義。二叉樹的概念同樣適用於樹,如完全數,滿樹等,此外還有 有序樹 結點的各子樹從左到右是有次序的,即若交換各子樹相對位置會構成不同的樹。無序樹 結點的各子樹從左到右是無次...
資料結構學習 樹
樹是n個結點的有限集合。n 0時稱為空樹,在任意一棵非空樹中 1 有且僅有乙個特定的稱為根的結點。2 當n 1時,其餘結點可以分為m個互不相交的有限集合,其中每乙個集合本身又是一棵樹。在此,我們主要來學習二叉樹的應用。結點擁有的子樹數稱為結點的度。度為0的結點稱為葉子結點或者終端結點。度不為0的結點...