我正在尋找一種壓縮算法(對於編程競賽),我需要如何實現它的全部描述(所有技術細節),任何無損和免專利算法都可以做到,但便於實現是一個獎金:)壓縮算法的完整描述
(儘管可能是無關緊要的)我計劃實現在C++算法...
在此先感謝。
編輯: 我會被壓縮純文本文件,沒有其他類型的文件...
我正在尋找一種壓縮算法(對於編程競賽),我需要如何實現它的全部描述(所有技術細節),任何無損和免專利算法都可以做到,但便於實現是一個獎金:)壓縮算法的完整描述
(儘管可能是無關緊要的)我計劃實現在C++算法...
在此先感謝。
編輯: 我會被壓縮純文本文件,沒有其他類型的文件...
RFC 1951描述了充氣/放氣,包括壓縮機算法的簡要描述。 Antaeus Feldspar的An Explanation of the Deflate Algorithm提供了更多的背景。
此外,zlib源代碼發行版在contrib/puff/puff.c中包含一個簡化的參考inflater,它可以幫助閱讀以準確理解比特的排列方式(但不包含放氣,只是充氣)。
我在維基百科開始here。
有很多選擇,但不知道更多關於你想要什麼,它很難幫助更多。你是壓縮文本,圖像,視頻還是隨機文件?每個人都有自己的一套技術和挑戰,以獲得最佳效果。
如果易用性是我使用「filecopy」壓縮的唯一標準。保證壓縮比正好是1:1,並且實現簡單...
好一個歡樂,我不能走那麼遠,完成了比賽你,但請查看這篇文章的wiki:Run Length Encoding。這是迄今爲止最簡單的數據壓縮方法之一,儘管並不總是有效的。壓縮也是領域特定的,即使在無損算法中,您會發現什麼您正在壓縮確定如何最好來編碼它。
同意!壓縮明文與例如機器語言之間存在巨大差異。 – 2009-07-15 14:12:13
如果您在互聯網瀏覽器的「查看」下,應該選擇「縮小」或縮小文本。
選擇那些和一個...
BAM!
你剛剛在同一屏幕上獲得更多文本!耶壓縮!
Security Now! podcast最近推出了一集突出顯示數據壓縮算法。 Steve Gibson對Huffman和Lempel-Ziv壓縮技術的基礎做了很好的解釋。您可以收聽音頻播客或閱讀Episode 205的成績單。
易用性:霍夫曼,如前所述。我相信LZW不再受專利保護,但我不確定。這是一個相對簡單的算法。雖然LZ77應該可用。最後,Burrows-Wheeler變換允許壓縮,但實現起來要困難得多。
我喜歡這個介紹Burrows-Wheeler Transform。
我在Google上搜索Google之前搜索了Google,發現了Feldspar的解釋,但它缺乏知道如何實現DEFLAT所需的「技術細節」,但第一個鏈接似乎正是我所要找的,謝謝 – Lawand 2009-07-15 13:40:25