LZW算法

一、壓縮的核心

壓縮的核心思想是用記號來代替重復出現的字符串,舉個栗子: AABAA ,這個字符串中 AA 出現了2次,那么我可以用 1 這個數字來代替 AA ,那么這個字符串壓縮后就成了 1B1 ,當然,這不是無損壓縮,因為 1 是什么,在解壓的時候是不知道的,我們可以簡單的把記號和原串的對應表附在字符串后面,這樣解壓的時候就可以查詢解壓了,比如 1B1:1,AA 懂點程序的都能明白,確實可以根據這個串來還原,但是這種附一個對應表的做法怎么看都很累贅。LZW 給出了一種方式,讓我們的這種做法顯得不那么累贅。讓我們可以邊解壓,邊翻譯出記號對應的原始串。

二、LZW算法概述

  1. 也就是說如果合并的字符串在字典里,就用字典里的編碼替換;如果字符不在字典里就在字典里為該字符建立一個編碼映射;
  2. 也就是說第一次出現的合并字符不用字典里的編碼替換,只有出現過一次的(字典里有映射的)才用編碼替換**


參考文獻

LZW壓縮算法原理解析
LZW算法的流程

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容