大量的子串多次重復出現的壓縮
具體思想:
比如我們大家所熟知的ASCII碼,這個碼表是與我們常見的字符是一一對應的,比如我們說‘a’,我們也可以寫成97,這兩者就是等價的。其實上這就是一個碼表。所以人們就想到,我們可不可以用以一個碼表示一個或者多個的字符,比如8表示ab這兩字符,我們就能將abcab這種的字符串縮小為8c8了。 但是我們知道字節只有0~255,如果我們要擴展的話就必須增加自己的定義。既,我假設我用增加了256~65534這么一段表示新的碼表。
具體步驟:
①打開一個待壓縮文件與存放壓縮后的文件
②讀入一個字節作為后綴,判斷這個詞字典中是否存在,存在則直接輸出,不存在則加入字典中。
③如果超過了最大的長度則,將當前碼表寫出到文件中,清空,再次讀入
④最后,將沒有寫完的信息,和碼表都輸出,壓縮就完成了
本文由用戶 quguiliang 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!