樹的邏輯結構
在樹中常常將資料元素稱為結點。
任意一棵非空樹滿足以下條件:
(1)有且僅有乙個特定的稱為根的結點
(2)當n>1時,除根結點之外的其餘節點被分成m(m>0)個互不相交的有限集合t1,t2.......tm,其中每個集合又是一棵樹,並稱為根節點的子樹。
樹的定義是遞迴的。
結點的度:某結點所擁有的子樹的個數
樹的度:樹中各結點度的最大值
葉子節點:度為0的結點,也稱為終端結點
分支節點:度不為0的結點,也稱為非終端結點
兄弟節點:具有同乙個雙親的孩子結點
前序遍歷:
若樹為空,則空操作返回;否則
(1)訪問根節點;
(2)按照從左到右的順序前序遍歷根結點的每一棵子樹。
後序遍歷:
若樹為空,則空操作返回;否則
(1)按照從左到右的順序後序遍歷根結點的每一棵子樹。
(2)訪問根節點;
二叉樹的邏輯結構:
二叉樹的特點:1.每個結點最多有兩棵子樹,所以二叉樹中不存在度大於2的結點;
2,二叉樹是有序的,其次序不能任意顛倒,即使樹中的某個結點只有一棵子樹,也要區分它是左子樹還是右子樹
二叉樹具有5種基本形態:1.空二叉樹 2.只有乙個根節點 3.根節點只有左子樹 4.根結點只有右子樹 5.根節點既有左子樹又有右子樹
滿二叉樹的特點:
1.葉子只能出現在最下一層 2.只有度為0和度為2 的結點
完全二叉樹的特點:1.葉子結點只能出現在最下兩層,且最下層的葉子結點都集中在二叉樹的左側連續的位置。 2.如果有度為1的結點,只可能有乙個,且該結點只有左孩子
前序遍歷:
若二叉樹為空,則空操作返回,否則
(1)訪問根節點
(2)前序遍歷根節點的左子樹
(3)前序遍歷根節點的右子樹
中序遍歷:
若二叉樹為空,則空操作返回,否則
(1)中序遍歷根節點的左子樹
(2)訪問根節點
(3)中序遍歷根節點的右子樹
後序遍歷:
若二叉樹為空,則空操作返回,否則
(1)後序遍歷根節點的左子樹
(2)後序遍歷根節點的右子樹
(3)訪問根節點
哈夫曼樹也稱最優二叉樹。葉子結點的權值是對葉子結點賦予的乙個有意義的數值量
第五章 樹和二叉樹
5.1 樹的邏輯結構 樹的定義 n n 0 個結點的有限集合。當n 0時,稱為空樹 任意一棵非空樹滿足以下條件 有且僅有乙個特定的稱為根的結點 當n 1時,除根結點之外的其餘結點被分成m m 0 個互不相交的有限集合t1,t2,tm,其中每個集合又是一棵樹,並稱為這個根結點的子樹。樹的基本術語 結點...
第五章樹和二叉樹
結點的度 結點所擁有的子樹的個數。樹的度 樹中各結點度的最大值。葉子結點 度為0的結點,也稱為終端結點。分支結點 度不為0的結點,也稱為非終端結點。結點所在層數 根結點的層數為1 對其餘任何結點,若某結點在第k層,則其孩子結點在第k 1層。樹的深度 樹中所有結點的最大層數,也稱高度。層序編號 將樹中...
第五章 樹和二叉樹(5 7)
目錄5.7.3哈夫曼編碼 2.哈夫曼編碼演算法實現 3.檔案的編碼和解碼 哈夫曼 huffman 樹又稱最優樹,是一類帶權路徑長度最短的樹,在實際中有廣泛的用途。哈夫曼樹的定義,涉及路徑 路徑長度 權等概念,下面先給出這些概念的定義,然後再介紹哈夫曼樹。路徑 從乙個結點到另乙個結點之間的分支序列 路...