哈夫曼實現壓縮,哈夫曼編碼的壓縮率怎麼算

時間 2025-05-27 10:50:22

哈夫曼編碼的壓縮率怎麼算

1樓:溥葳素德明

哈夫曼編碼壓縮率很低的。

舉個例子:用三位二進行數進行的等長編碼平均長度為3,而根據哈夫曼樹編碼的平均碼長為:

其平均碼長是等長碼的87%。

所以平均壓縮率為13%。

所以應該是你演算法有問題……

利用哈夫曼編碼進行壓縮壓縮率一般達到多少?

2樓:網友

哈夫曼編碼進行壓縮的壓縮率是根據平均碼長來計算的,壓縮率比較低。

例如:用三位二進行數進行的等長編碼平均長度為3,而根據哈夫曼樹編碼的平均碼長為:

其平均碼長是等長碼的87%,所以平均壓縮率為13%。

哈夫曼編碼,又稱霍夫曼編碼,是一種編碼方式,哈夫曼編碼是可變字長編碼(vlc)的一種。

huffman於1952年提出一種編碼方法,該方法完全依據字元出現概率來構造異字頭的平均長度最短的碼字,有時稱之為最佳編碼,一般就叫做huffman編碼(有時也稱為霍夫曼編碼)。

壓縮率,描述壓縮檔案的效果名,是檔案壓縮後的大小與壓縮前的大小之比,例如:把100m的檔案壓縮後是90m,壓縮率為90/100*100%=90%,壓縮率一般是越小越好,但是壓得越小,解壓時間越長。

3樓:匿名使用者

哈夫曼編碼壓縮率很低的。

舉個例子:用三位二進行數進行的等長編碼平均長度為3,而根據哈夫曼樹編碼的平均碼長為:

其平均碼長是等長碼的87%。

所以平均壓縮率為13%。

所以應該是你演算法有問題……

4樓:煒空

我一開始也有一樣的問題,後來發現哈夫曼編碼是認為檔案各字元是獨立同分布的,不考慮其相關性,而通常對檔案壓縮時其前後是有很強的關聯性的,所以可以達到更低的壓縮率,更高的壓縮比。

5樓:匿名使用者

哈夫曼演算法是最好的無損演算法,無損。

利用哈夫曼編碼進行壓縮壓縮率一般達到多少?

6樓:羽墨徹祝環

哈夫曼編碼壓縮率很低的。

舉個例子:用三位二進行數進行的等長編碼平均長度為3,而根據哈夫曼樹編碼的平均碼長為:

其平均碼長是等長碼笑野的87%。

所悄公升襪以平均壓縮率為13%。

所以應該是你演算法啟激有問題……

哈夫曼壓縮演算法的內容是什麼?

7樓:鏡默向韞玉

注:哈夫曼和lzss演算法不是同一種演算法,先用哈夫曼再用lzss演算法壓縮後會發現經哈夫曼壓縮後再用lzss壓縮檔案會變大,具體原因不明。

lzss原理:

把編碼位置置於輸入資料流的開始位置。

在前向緩衝器中查詢視窗中最長的匹配串。

pointer

匹配串指標。

length

匹配串長度。

判斷匹配串長度length是否大於等於最小匹配串長度(min_length)

如果「是喚遊」:輸出指標,然後把編碼位置向前移動length個字元。

如果「否」:輸出前向緩衝儲存器中的第1個字元,然後把編碼位置向前移動乙個字元。

如果前向緩衝器不是空的,就返回到步驟2。

例:編碼字串如表03-05-3所示,編碼過程如表03-05-4所示。現說明如下:

步驟」欄表示編碼步驟。

位置」欄表示編碼位置,輸入資料流中的第1個字元為編碼位置1。

匹配」欄表示視窗中找到的最長的匹配串。

字元」欄表示匹配之後在前向緩衝儲存器中的第1個字元。

輸出」欄的輸出為:

如果匹配串本身的長度length

min_length,輸出指向匹配串的指標,拆寬格式為(back_chars,chars_length)。該指標告訴解碼器「在這個視窗中向後退back_chars個字元然後旅鏈亮拷貝chars_length個字元到輸出」。

如果匹配串本身的長度length

min_length,則輸出真實的匹配串。

表:輸入資料流。位置。

字元。a a b b c b b a a b c

表:編碼過程(min_length

步驟 位置 匹配串 輸出。

1 1 --a

2 2 a a

b4 4 b b

5 5 --c

6 6 bb (3,2)

aab (7,3)

8 11 c c

哈夫曼編碼問題,高手幫我,哈夫曼編碼問題 大神救我

createht建立哈夫曼樹的 有點問題,修改如下void createht htnode ht,int n int i,k,lnode,rnode int min1,min2 for i 0 i 2 n 1 i ht i parent ht i lchild ht i rchild 1 for i...

設計程式以實現構造哈夫曼樹的哈夫曼演算法 C ,要求如下 50

設計程式以實現構造哈夫曼樹的哈夫曼演算法 c 要求如下 這麼多事事,自己寫去,不認真學習還這麼多毛病。給定權值 ,,,,, 構造相應的哈夫曼樹.要求寫出構造步驟 按權值大小排列後。只要按照將最小的兩個合併,合併後的值再入列中 最小的兩個出列 至到列中只有乙個值。按上面要求構造哈夫曼樹。如下 襪叢 樹列...

解碼系統,對文字檔案中的字元進行哈夫曼編碼,生成編碼檔案(壓縮檔案,字尾名 co

超人先生一號 我給你個差不多的,你自己修改一下就可以用了 huffman編碼和解碼 include include include include typedef struct htnode,huffmantree typedef struct huffmancode typedef struct ...