夫曼编码译码系统课程设计实验报告(含源代码c++_c语言),哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc...

41528d3028836879cd698677c3999917.gif哈夫曼编码译码系统课程设计实验报告(含源代码c++_c语言).doc

东北电力大学计算机科学与技术专业综合设计报告I目录摘要IIABSTRACTII第一章课题描述111问题描述112需求分析113程序设计目标第二章设计简介及设计方案论述221设计简介222设计方案论述223概要设计2第三章详细设计431哈夫曼树432哈夫曼算法4321基本思想4322存储结构433哈夫曼编码534文件I/O流6341文件流6342文件的打开与关闭7343文件的读写735C语言文件处理方式第四章设计结果及分析841设计系统功能842进行系统测试8总结13致谢14参考文献15东北电力大学计算机科学与技术专业综合设计报告II附录主要程序代码16摘要在这个信息高速发展的时代,每时每刻都在进行着大量信息的传递,到处都离不开信息,它贯穿在人们日常的生活生产之中,对人们的影响日趋扩大,而利用哈夫曼编码进行通信则可以大大提高信道利用率,缩短信息传输时间,降低传输成本。在生产中则可以更大可能的降低成本从而获得更大的利润,这也是信息时代发展的趋势所在。本课程设计的目的是使学生学会分析待加工处理数据的特性,以便选择适当的逻辑结构、存储结构以及进行相应的算法设计。学生在学习数据结构和算法设计的同时,培养学生的抽象思维能力、逻辑推理能力和创造性的思维方法,增强分析问题和解决问题的能力。此次设计的哈夫曼编码译码系统,实现对给定报文的编码和译码,并且任意输入报文可以实现频数的统计,建立哈夫曼树以及编码译码的功能。这是一个拥有完备功能的系统程序,对将所学到的知识运用到实践中,具有很好的学习和研究价值关键词信息;通讯;编码;译码;程序东北电力大学计算机科学与技术专业综合设计报告IIIABSTRACTTHISISADATETHATINATIONSPEEDINGHIGHLYDEVELOPMENTANDTRANSMITINATIONEVERYTIME,EVERYWHERECANNOTLEAVETHEINATION,ITPASSESTHROUGHDURINGTHEPEOPLEDAILYLIFEPRODUCTION,THEINFLUENCEEXPANDSDAYBYDAYTOTHEPEOPLE,BUTCODESUSINGHUFFMANCARRIESONTHECORRESPONDENCETOBEPOSSIBLETORAISETHECHANNELUSEFACTORGREATLY,REDUCESTHEINTELLIGENCETRANSMISSIONTIME,REDUCESTHETRANSMISSIONCOSTMAYGREATLYPOSSIBLEREDUCETHECOSTINTHEPRODUCTION,THUSOBTAINSABIGGERPROFIT,THISISALSOTHEINATIONAGEDEVELOPMENTTENDENCYISTHISCURRICULUMPROJECT SGOALISMAKESTHESTUDENTACADEMICSOCIETYTOANALYZETREATSTHEPROCESSINGDATATHECHARACTERISTIC,WITHTHEAIMOFCHOOSINGTHESUITABLELOGICALORGANIZATION,THEMEMORYSTRUCTUREASWELLASCARRIESONTHECORRESPONDINGALGORITHMDESIGNTHESTUDENTDURINGTHESTUDYCONSTRUCTIONOFDATAANDALGORITHMDESIGN’SRAISESSTUDENT SABSTRACTTHINKINGABILITY,LOGICREASONINGABILITYANDTHECREATIVETHOUGHT,THEENHANCEMENTANALYSISQUESTIONANDSOLVESTHEQUESTIONABILITYTHISDESIGN SHUFFMANCODESTHECODERECOGNITIONSYSTEM,REALIZESTOASSIGNSTHETEXTTHECODEANDTHEDECODING,ANDTHEARBITRARYTEXTMAYREALIZETHEFREQUENCYSTATISTICS,ESTABLISHESTHEHUFFMANTREEASWELLASTHECODEDECODINGFUNCTIONTHISISONEHASTHECOMPLETEFUNCTIONSYSTEMPROGRAM,TOTHEKNOWLEDGEWHICHWILLLEARNUTILIZESINTHEPRACTICE,HASTHEVERYGOODSTUDYANDTHERESEARCHVALUEKEYWORDSINATIONCOMMUNICATIONCODINGDECODINGPROCEDURE东北电力大学计算机科学与技术专业综合设计报告1第一章课题描述11问题描述利用哈夫曼编码进行通信,可以压缩通信的数据量,提高传输效率,缩短信息的传输时间,还有一定的保密性。现在要求编写一程序模拟传输过程,实现在发送前将要发送的字符信息进行编码,然后进行发送,接收后将传来的数据进行译码,即将信息还原成发送前的字符信息。12需求分析在本例中设置发送者和接受者两个功能,121发送者的功能①输入待传送的字符信息;②统计字符信息中出现的字符种类数和各字符出现的次数(频率);②根据字符的种类数和各自出现的次数建立哈夫曼树;③利用以上哈夫曼树求出各字符的哈夫曼编码;④将字符信息转换成对应的编码信息进行传送。122接受者的功能①接收发送者传送来的编码信息;②利用上述哈夫曼树对编码信息进行翻译,即将编码信息还原成发送前的字符信息。从以上分析可发现,在本例中的主要算法有三个(1)哈夫曼树的建立;(2)哈夫曼编码的生成;(3)对编码信息的翻译。13程序设计目标层次一编程从文件中读取一段报文,首先统计字符的频度,然后建立哈夫曼树,并给出报文的编码,然后根据使用者的需要对指定文件里的任意二进制编码进行译码并显示。层次二使用者从系统界面输入字符串,统计从键盘输入的字符串信息,然后建立哈夫曼树,并给出报文的编码,然后根据使用者的需要对指定文件里的或者使用者从系统界面输入任意二进制编码的进行译码并显示。东北电力大学计算机科学与技术专业综合设计报告2第二章设计简介及设计方案论述21设计简介文字处理是现代计算机应用的重要领域。文本由字符组成,字符以某种编码形式存储在计算机中。每个字符的编码可以是相等长度的,也可以是不等长度的。ASCII编码是等长编码。为了提高存储和处理文本的效率,在一些计算机应用场合,如数据通信,常采用不等长的编码,对常用的字符用较少的码位,不常出现的字符用较多的码位编码,从而减少文本的存储长度。哈夫曼编码就是用于此目的的不等长编码方法。所以本次设计就是通过构造哈夫曼树来生成哈夫曼编码,最终完成设计要求。22设计方案论述哈夫曼编码/译码程序主要由主函数、哈夫曼树类和各种功能函数组成,程序运行时首先进入主函数,对各种功能函数进行调用,从而实现了整个程序的运行。将各种不同的函数分别包含在各自的结构体中,使整个程序结构更加的清晰明了,各功能相互独立且紧密联系,有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值