當前位置:成語大全網 - 新華字典 - 用C++寫的壓縮程序的原理是什麽?

用C++寫的壓縮程序的原理是什麽?

數據壓縮目前主要有如下幾大類算法:

1 統計編碼,主要包括霍夫曼編碼和算術編碼,用途廣泛

2 字典編碼,主要包括lz77,lz78,lzw等,zip,rar等壓縮軟件基本用這類算法

3 變換編碼,主要包含傅裏葉變換、離散余弦變換(DCT)、小波變換等,圖像、視頻領域使用

4 預測編碼,ADPCM等,語音、圖像、視頻領域使用

妳問的壓縮程序應該指的是字典編碼,這種壓縮編碼就是掃描待壓縮數據,每次都到前面去找,當前的字符串是否在前面出現過,如果出現過就用壹個距離和長度來代替這個字符串,例如:

外星人遇到另壹個外星人

那麽最後這個 "外星人" 就保存為 (-8, 3),表示 "外星人"這個字符串在前面出現過,位置是前面的第8個字符,長度為3。

這種算法就是以色列人1977年提出的算法,實際上現在的壓縮軟件都是從這種算法改進來的,無論他怎樣改,就沒有脫離這個思路。

當然,目前實際上已經有了更好的算法,但是都無法推廣,因為這些更好的算法都有專利。