行程長度編碼科普

2021-08-10 19:32:59 字數 654 閱讀 9673

在某些情況下,乙個字元可能在乙個長序列中反覆出現。在英語文字中,這種重複不常見,但在大的資料流中(如dna序列)中,這種情況則經常出現。一種名為行程長度編碼的文字壓縮方法利用了這種情況。行程長度編碼有時又稱為迭代編碼。

在行程長度編碼中,重複字元的序列將被替換為標誌字元,後面加重複字元和說明字元重複次數的數字。例如,下面的字串由7個a構成:

aaaaaaaa

如果用*作為標誌字元,這個字串可以被編碼為:

*a7

標誌字元說明這三個字元的序列應該被解碼為相應的重複字串,其他文字則按照常規處理。因此,下列編碼字串:

n5 x9ccc*h6 some other text *k8eee

將被解碼為如下的原始文字:

nnnnn*********ccchhhhhh some other text kkkkkkkkeee

原始文字包括51個字元,編碼串包括35個字元,所以這個示例的壓縮率為0.68。

注意,這個例子中有三個重複的c和三個重複的e都沒有編碼。因為需要用三個字元對這樣的重複序列編碼,所以對長度為2或3的字串編碼是不值得的。事實上,如果對長度為2的重複字串編碼,反而會使結果串更長。

RLE行程長度編碼概述

rle行程長度編碼概述 目前,壓縮技術已經廣泛應用於各種軟體 聲音 影像格式等領域。總的來說,有兩種截然不同的影象格式壓縮型別 有失真壓縮和無失真壓縮 1 有失真壓縮利用視覺識別的原理可以大大地壓縮檔案的資料,但是會影響影象質量。無失真壓縮的基本原理是相同的顏色資訊只需儲存一次,可以刪除一些重複資料...

c筆記 行程長度編碼

之前寫過哈弗曼編碼的壓縮檔案的程式,今天在書上看到乙個更簡單用途單一的壓縮演算法 行程長度編碼 如果檔案包含許多相同位元組的長序列,效果很明顯,實現 如下 include includeint main int argc,char ar char newname 256 strcpy newname...

c 行程長度編碼 題解與做題感想

時間限制 1 sec 記憶體限制 128 mb 在資料壓縮中,乙個常用的途徑是行程長度壓縮。對於乙個待壓縮的字串而言,我們可以依次記錄每個字元及重複的次數。這種壓縮,對於相鄰資料重複較多的情況比較有效。例如,如果待壓縮串為 aaabbbbcbb 則壓縮的結果是 a,3 b,4 c,1 b,2 當然,...