1. 原理

壓縮

LZ78算法的壓縮過程非常簡單。在壓縮時(shí)維護(hù)一個(gè)動(dòng)態(tài)詞典Dictionary,其包括了歷史字符串的index與內(nèi)容;壓縮情況分為三種:

  1. 若當(dāng)前字符c未出現(xiàn)在詞典中,則編碼為(0, c)

  2. 若當(dāng)前字符c出現(xiàn)在詞典中,則與詞典做最長匹配,然后編碼為(prefixIndex,lastChar),其中,prefixIndex為最長匹配的前綴字符串,lastChar為最長匹配后的第一個(gè)字符;

  3. 為對(duì)最后一個(gè)字符的特殊處理,編碼為(prefixIndex,)。

如果對(duì)于上述壓縮的過程稍感費(fèi)解,下面給出三個(gè)例子。例子一,對(duì)于字符串“ABBCBCABABCAABCAAB”壓縮編碼過程如下:

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式