資源描述:
《linux下文件壓縮和解壓縮分析研究與實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、北方民族大學(xué)學(xué)士學(xué)位論文論文題目:Linux下文件壓縮和解壓縮分析研究與實(shí)現(xiàn)院(部)名稱:電氣信息工程學(xué)院學(xué)生姓名:XXX專業(yè):信息工程學(xué)號(hào):00000000指導(dǎo)教師姓名:XX教授論文提交時(shí)間:2013.5.15論文答辯時(shí)間:2013.5.25學(xué)位授予時(shí)間:北方民族大學(xué)教務(wù)處制摘要在現(xiàn)代社會(huì),計(jì)算機(jī)技術(shù)的發(fā)展,使得現(xiàn)代社會(huì)更加豐富多彩,我們可以隨時(shí)隨地在任何地方了解到世界各地的信息,而這又必須依賴信息的傳遞。在信息化高度發(fā)達(dá)的當(dāng)今社會(huì),我們必須對(duì)信息的傳遞有著較高的要求,我們希望信息在傳遞的過程中,能夠保持節(jié)省性和保密
2、性和無損性,而著名的霍夫曼編碼就能夠達(dá)到這樣的要求。因此研究霍夫曼編碼對(duì)信息的壓縮和解壓縮就時(shí)相當(dāng)有必要的,我們用C/C++語言對(duì)霍夫曼編碼給出算法以實(shí)現(xiàn)對(duì)文件的壓縮和解壓縮。而Linux系統(tǒng)提供了編輯器(vim)、編譯鏈接器(gcc)、調(diào)試器(gdb)及項(xiàng)目管理工具(make)。利用這些工具我們可以非常方便的進(jìn)行C/C++程序的開發(fā)以實(shí)現(xiàn)對(duì)文件的壓縮解壓縮。本文將利用霍夫曼樹與數(shù)據(jù)結(jié)構(gòu)中最優(yōu)二叉樹的相似性,以及通過對(duì)文件I/O的操作,在Linux環(huán)境下實(shí)現(xiàn)對(duì)文件的壓縮與解壓縮。關(guān)鍵詞:壓縮,解壓縮,Linux,霍夫曼
3、編碼ABSTRACTInmodernsociety,thedevelopmentofthecommunication,themorecolorfulmodernsociety,wehavelearnedanywhereanytime,anywherearoundtheworld,whichinturnmustrelyonthetransmissionofinformation.Inthehighlydevelopedinformationtechnologyintoday'ssociety,wehaveahigherd
4、emandonthetransmissionofinformation,wehopethattheinformationinthedeliveryprocesscansaveandconfidentialityandnon-destructive,andthefamousHuffmancodingwillbeabletoachievesuchrequirement.AresultofHuffmancodingcompressionanddecompressionoftheinformationonquitenecess
5、ary,withC/C++languageforHuffmancodingalgorithmisgiveninordertoachievethecompressionanddecompressionoffiles.TheLinuxsystemprovidesaneditor(vim),compilerlinker(gcc),debugger(gdb)andprojectmanagementtools(make).Theuseofthesetoolscanbeveryconvenientforthedevelopment
6、oftheCprogramtoimplementfilecompressiondecompression.ThepaperwillusetheoptimalbinarytheHuffmantreedatastructure,aswellasfilecompressionanddecompressionfileI/OoperationintheLinux.KEYWORDS:compression,Decompression,Linux,Huffmancoding目錄第1章緒論11.1數(shù)據(jù)壓縮技術(shù)簡(jiǎn)介11.2數(shù)據(jù)壓縮的分類
7、11.3本文的主要工作2第2章Linux編程環(huán)境概述32.1Linux系統(tǒng)的由來及發(fā)展現(xiàn)狀32.2Linux下C/C++語言編程的主要工具42.2.1編輯器vim42.2.2編譯鏈接器gcc52.2.3調(diào)試器gdb72.2.4工程管理器make7第3章霍夫曼編碼原理93.1霍夫曼編碼的理論基礎(chǔ)93.2霍夫曼編碼103.2.1霍夫曼編碼步驟103.2.2霍夫曼表103.2.3霍夫曼樹113.2.4霍夫曼樹與壓縮編碼12第4章基于霍夫曼編碼的文件壓縮與解壓縮的實(shí)現(xiàn)154.1程序的設(shè)計(jì)思想154.2編碼程序設(shè)計(jì)154.3譯碼
8、程序設(shè)計(jì)174.4軟件的運(yùn)行結(jié)果19第5章結(jié)論21致謝22參考文獻(xiàn)23附錄1:程序源代碼25附錄2:英文原文38附錄3:中文譯文47北方民族大學(xué)學(xué)士學(xué)位論文Linux下文件壓縮和解壓縮分析研究與實(shí)現(xiàn)第1章緒論1.1數(shù)據(jù)壓縮技術(shù)簡(jiǎn)介隨著計(jì)算機(jī)技術(shù)的發(fā)展,數(shù)據(jù)壓縮技術(shù)有了越來越重要的作用[1]。只有數(shù)據(jù)有重復(fù)性,冗余性,才能夠?qū)崿F(xiàn)壓縮