非線性結構,乙個直接前驅,但可能有多個直接後繼(1:n)
樹的定義具有遞迴性,即樹中還有樹
樹的度所有結點度中的最大值(max
樹的深度指所有結點中最大的層數(max
圖形表示法
廣義表表示法
左孩子-右兄弟表示法
雙親孩子表示法
二叉樹的結構最簡單,規律性最強
可以證明,所有樹都能轉為唯一對應的二叉樹,不失一般性
定義:是n(n≥0)個結點的有限集合,由乙個根結點以及兩棵互不相交的、分別稱為左子樹和右子樹的二叉樹組成
二叉樹性質
性質1: 在二叉樹的第i層上至多有2i-1個結點(i>0)
性質2: 深度為k的二叉樹至多有2k-1個結點(k>0)
性質3: 對於任何一棵二叉樹,若2度的結點數有n2個,則葉子數(n0)必定為n2+1 (即n0=n2+1)
滿二叉樹:一棵深度為k 且有2k
-1個結點的二叉樹。
(特點:每層都「充滿」了結點)
完全二叉樹:深度為k 的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k 的滿二叉樹中編號從1至n的結點一一對應。
性質4: 具有n個結點的完全二叉樹的深度必為ëlog2nû+1
性質5: 對完全二叉樹,若從上至下、從左至右編號,則編號為
i 的結點,其左孩子編號必為
2i,其右孩子編號必為
2i+1;其雙親的編號必為
i/2(
i=1 時為根,除外)
資料結構學習 樹
樹結構是二叉樹的擴充套件,二叉樹在乙個節點上只有兩個子節點,而樹結構在乙個節點上不只有兩個,可以有n個,n大於等於0,更具有一般意義。二叉樹的概念同樣適用於樹,如完全數,滿樹等,此外還有 有序樹 結點的各子樹從左到右是有次序的,即若交換各子樹相對位置會構成不同的樹。無序樹 結點的各子樹從左到右是無次...
資料結構學習 樹
樹是n個結點的有限集合。n 0時稱為空樹,在任意一棵非空樹中 1 有且僅有乙個特定的稱為根的結點。2 當n 1時,其餘結點可以分為m個互不相交的有限集合,其中每乙個集合本身又是一棵樹。在此,我們主要來學習二叉樹的應用。結點擁有的子樹數稱為結點的度。度為0的結點稱為葉子結點或者終端結點。度不為0的結點...
《資料結構》學習筆記(4)
include using namespace std c 中有兩種函式 常規函式和成員函式 定義都包括四個部分 函式名,形式參數列,返回型別和函式體。引數傳遞的兩種方式 傳值 預設的引數傳遞方式 引用型別。使用引用方式將大大節省傳遞引數時間,並可節省儲存引數物件的副本空間。int squareby...