構造赫夫曼樹(最優二叉樹)

2022-05-24 21:15:07 字數 488 閱讀 5673

例如,有權值分別為 5、10、15、20、25、40的結點,根據以上演算法構造出乙個哈夫曼樹。

(1) 取這六個樹中最小的兩個樹5、10連成乙個二叉樹,其權值為15;此時森林裡的樹變為15(5、10)、15、20、25、40。

(2) 取這五個樹中最小的兩個樹(15(5、10)、15),構成乙個新的二叉樹30((5、10)、15);此時森立里的樹變為20、25、30((5、10)、15)、40。

(3) 繼續上述過程,得到乙個新的二叉樹45(20、25);此時的森林變為30((5、10)、15)、40、45(20、25)。

(4) 繼續得到二叉樹70((5、10)、15)、40);則森林裡只剩下兩棵樹:70((5、10)、15)、40)與45(20、25)。

(5) 最後將這兩棵二叉樹合併成為一棵二叉樹115(((5、10)、15)、40)、(20、25)),完成了哈夫曼樹的構造。

(6) 計算wpl=(5+10)*4+15*3+(20+25)*2+40*2=275。

赫夫曼樹(最優二叉樹) 赫夫曼編碼

首先我們看一下相關的一些概念。路徑長度 從樹中乙個節點到另外乙個節點之間的分支構成兩個節點之間的路徑,路徑上的分支數目稱為路徑長度。如圖中的數字就為路徑長度。樹的路徑長度就是從樹根到每乙個節點的路徑的長度總和。上圖二叉樹的樹路徑長度為1 1 2 2 2 2 3 3 16。那麼根據這樣可以得出當節點一...

哈夫曼樹(最優二叉樹)

給定n個權值作為n的 葉子結點,構造一棵二叉樹,若帶權路徑長度達到最小 所謂樹的帶權路徑長度,就是樹中所有的葉結點 的權值乘上其到根結點的路徑長度 稱這樣的二叉樹為最優二叉樹,也稱為哈夫曼樹 huffman tree 哈夫曼樹是帶權路徑長度最短的樹,權值較大的結點離根較近。假設有n個權值,則構造出的...

哈夫曼樹(最優二叉樹)

最優二叉樹 哈夫曼樹 給定n個權值,試構造一棵有n個葉子結點的二叉樹,每個葉子結點帶權為wi。構造出來的二叉樹的形態可以有多個,我們把其中帶權路徑長度wpl最小的二叉樹稱作最優二叉樹或者哈夫曼樹。語言描述 根據給定的n個權值構成n棵二叉樹的集合f 其中每棵二叉樹ti中只有乙個帶權為wi的根結點,其左...