霍夫曼樹

Report
壓縮演算法-霍夫曼壓縮
95363621林東磊
壓縮處理的基本概念

將可以省略的資料丟掉,即可以有效壓縮檔案。

壓縮可以分為可逆壓縮以及不可逆壓縮。
霍夫曼樹
左圖是這個句子「this is
an example of a huffman
tree」中得到的字母頻率
來建構霍夫曼樹。
為何有適應型演算法?

各資料值的出現頻率資訊一定要被存放在輸出資料的
某處,而這些資料可能會成為Overhead。

進行資料處理前必須取得全部資料的資訊。
適應型霍夫曼編碼

將所有資料值出現的頻率設為1,處理過的資料值頻率
加1,且建立霍夫曼樹;也可以說,在處理資料值的過
程中,一邊建立最“適應”資料出現頻率的霍夫曼樹。

但是如此建立霍夫曼樹的方法,恐怕造成時間上的消
耗。
FGK演算法

由Faller、Gallager、Kmouth三人發明,故稱為FGK演
算法。

此演算法會依據霍夫曼樹建立的條件,在葉的重量增
加時,讓霍夫曼樹變形滿足條件。
兄弟條件

FGK演算法是根據以下條件來變形霍夫曼樹的排列方
式。
1.
對所有節點來說,其兩個子節點的號碼是一定連續
的。
2.
父節點號碼永遠比子節點大。
V演算法

為改良後的FGK演算法,於1987年由J.S.Vitter提出。

概念:節點間的距離是『從A節點走到B節點時,中間
經過的節點數。』
V演算法

依造以下規則建立霍夫曼樹
1.
從距離跟最遠的節點由小到大分配編號。
2.
若兩節點的出現頻率相同,則在葉節點上的配點要
比內部節點更小。
參考資料

壓縮演算法-編碼原理與使用C語言的實作

維基百科

similar documents