天天看點

基于哈夫曼編碼的壓縮算法的實作

版權聲明: 本文由 一隻部落格 發表于 bloghome部落格

文章連結: https://www.bloghome.com.cn/user/cnn237111

哈夫曼編碼取決于哈夫曼樹。

将要壓縮的字元串,将每個字出現的頻率作為依據,構造一顆哈夫曼樹,頻率越大的字越是靠近樹的根結點,是以它的編碼也就越短。是以,頻率高的字用短碼,頻率低的字用長碼。根據這樣的碼表可以實作壓縮字元串了。

本程式采用c#實作。

基本上是示範了哈夫曼編碼壓縮的原理。由于是示範代碼,是以不必太糾結與效率。本程式效率必定不高。

根據碼表組成的二進制碼,按照7位一組轉成ascii碼(采用的ascii碼為7位,0-127),并且有一個标志頭訓示是否有多餘的尾碼。具體看代碼實作。

 本程式也可以稍加改編,成為字元串加密算法。

 效果圖如下:

基于哈夫曼編碼的壓縮算法的實作