關於Lempel Ziv壓縮演算法的筆記

2021-04-01 15:42:11 字數 701 閱讀 3155

關於lempel-ziv壓縮演算法的筆記

lempel-ziv, 簡稱lz, 擁有lz77, lz78, lzw幾種不同的演變演算法!lz是一種典型的字典型壓縮演算法, 巧妙的利用字典, 減少資訊量。

例子:原始編碼為: 1001011011010101011

現在有空字典乙個, 首先由第一的bit開始, 索引1對應1,因為字典中沒有0這個元素, 所以索引2對應0, 第三個bit, 0已經出現在字典中, 我們推後一位01,沒有出現在字典中,因此索引為3加入字典。 以此類推!

索引最終用二進位制方式表示, 我們得到1,0,10,11,01,101,010,1011這8個字典項, 用3位碼可以表示, lz擴充套件了一位已表示各個元素間關係。 如下表就是乙個完整的字典。字典

位置內容

編碼001

10001 

0100

0000

01110

0010

10011

0011

10101

0101

110101

0111

111010

1010

1011

1101 

如上所示, 對應的編碼是疊加的內容10, 1的位置為001, 10為001+0=0010, 以此類推!

在實際應用中, 使用的是lz77, lz78之類的演算法。使用的是即時編碼的方式,一邊編碼一邊加入字典。

Lempel Ziv壓縮演算法

lempel ziv,簡稱lz,擁有lz77,lz78,lzw幾種不同的演變演算法!lz是一種典型的字典型壓縮演算法,巧妙的利用字典,減少資訊量。例子 原始編碼為 101011011010101011 現在有空字典乙個,首先由第一的bit開始,索引1對應1,因為字典中沒有0這個元素,所以索引2對應0...

FOR壓縮演算法

倒排表的壓縮演算法 for rbm 詞項索引的檢索原理 fst 如上圖,假設倒排表中最理想的一行id為1,2,3.100 w個連續數字 圖 若沒有使用for壓縮演算法,則有100w個int型別的數字,1數字 4位元組,則有400w位元組,約佔4m儲存空間。1位元組 8bit,則1int需要32bit...

關於壓縮和解壓縮

從http www.icsharpcode.net 首先需要在專案裡引用sharpziplib.dll。然後修改其中的關於壓縮和解壓縮的類。實現原始碼如下 壓縮檔案 using system using system.io using icsharpcode.sharpziplib.checksum...