哈夫曼樹構造 哈夫曼編碼

2022-09-16 19:45:16 字數 481 閱讀 9480

(一)哈夫曼樹——p189

1.定義:帶權路徑長度(wpl)最小的二叉樹稱為哈夫曼樹  wpl=樹中所有葉子節點的帶權路徑長度之和  帶權路徑長度=從樹根到任意節點的路徑長度與該節點上權值的乘積

2.構造:1)將這n個節點分別作為n課僅含乙個結點的二叉樹,構成森林f

2)構造乙個新節點,從f中選取兩棵根節點權值最小的樹作為新節點的左右子樹,並且將新節點的權值置為左右子樹上根節點的權值之和

3)從f中刪除剛才選出的兩棵樹,同時將新的到的樹加入f中

4)重複步驟2)3),直至f中只剩下一棵樹為止

3.特點:

1)每個初始節點最終都成為葉節點,且權值越小的節點到根節點的路徑長度越大

2)構造過程中共新建了n-1個節點,因此哈夫曼樹的節點總數為2n-1

3)哈夫曼樹中不存在度為1的節點

(二)哈夫曼編碼——p190

左0,右1

哈夫曼樹的wpl可視為最終編碼得到二進位制編碼的長度

構造哈夫曼樹 哈夫曼編碼

1.權值越大的節點,距離根越近 2.樹中沒有度為1的節點,這類樹叫正則 嚴格 二叉樹,樹的總節點 2 雙分支結點 1 單分支結點 雙分支結點 3.樹的帶權路勁 wpl 所有葉子結點的帶權長度路勁之和 長度最短。嗶哩嗶哩王卓老師的口訣 構造森林全是根,選用兩小選新樹,刪除兩小添新人,重複23剩單根 1...

哈夫曼編碼 哈夫曼樹

1.定義 哈夫曼編碼主要用於資料壓縮。哈夫曼編碼是一種可變長編碼。該編碼將出現頻率高的字元,使用短編碼 將出現頻率低的字元,使用長編碼。變長編碼的主要問題是,必須實現非字首編碼,即在乙個字符集中,任何乙個字元的編碼都不是另乙個字元編碼的字首。如 0 10就是非字首編碼,而0 01不是非字首編碼。2....

哈夫曼樹 哈夫曼編碼

定義從a結點到b結點所經過的分支序列為從a結點到b結點的路徑 定義從a結點到b結點所進過的分支個數為從a結點到b結點的路徑長度 從二叉樹的根結點到二叉樹中所有結點的路徑長度紙盒為該二叉樹的路徑長度 huffman樹 帶權值路徑長度最小的擴充二叉樹應是權值大的外界點舉例根結點最近的擴充二叉樹,該樹即為...