數據壓縮算法

一 引言

    隨着互聯網的飛快發展,整個互聯網產生原來越多的數據,這個世界充滿了數據,人們的生活離不開數據,然而能夠有效表達數據的算法在現代的計算機基礎架構中有着重要的地位。當我們在欣賞圖片,聽音樂,看視頻,無論是用PC或移動終端瀏覽信息時,我們始終在和數據形影不離。

    在計算機系統中處理的數據,都有一個共同的特點,它們始終是用二進制表示的。因爲大多數數據有很大的冗餘,所以數據壓縮算法能夠節省很大的空間。雖然現在的硬盤越來越便宜,人們可以存儲的數據越來越多,正是如此,數據壓縮的存儲可以節省更多的存儲空間。目前,我們很多的數據都是通過網絡傳輸的,數據壓縮可以使傳輸的數據空間變小,從而在傳輸過程中可以節省傳輸數據的時間。基於保存數據信息空間的節省和傳輸時間的變短兩個原因,還是很有必要研究數據的壓縮算法的。

    數據壓縮算法可以分爲無損壓縮算法和有損壓縮算法,數據壓縮的有損和無損是針對壓縮後數據還原到原始數據來說的。比如,有些數據文件或程序代碼經過壓縮,再經過還原後,必須要保持和原來數據的一致,這種是無損的壓縮;同樣,允許存在數據(比如視頻,圖片等)還原展開後可以和原始的數據存在相似,不一定完全相同,這是有損的數據壓縮。

    數據壓縮的基礎模型可以採用下面的圖來簡單的表示。

假設原始的數據用D表示,壓縮之後的數據用C(D)來表示,數據壓縮的基礎模型可以簡單的簡述爲:通過“壓縮“組件將原始數據D壓縮成數據C(D),壓縮後的數據C(D)可以在適當的時機,通過還原組件還原爲數據D。

    數據壓縮算法的評價可以通過多種因素來評價。其中,壓縮率是比較常用的參數之一,數據壓縮之後的大小與原始數據的大小比值,成爲壓縮率,即 C(D)/ D。在綜合考慮壓縮算法的性能時,還可以參考壓縮的時間效率,對於有損壓縮,還可能要考慮到壓縮的質量因素。

二 常見的壓縮算法

1.哈夫曼壓縮

  1.1 哈夫曼簡介

哈夫曼壓縮是一種能夠大幅度壓縮自然語言文件空間的數據壓縮技術。它的主要思想是將頻繁出現的字符用較少的比特表示,用較多的比特表示出現頻繁率低的字符。這樣可以減少文件的存儲空間。

1.2 哈夫曼編碼

mark,下次繼續
發佈了41 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章