综合设计报告3333Word下载.docx
- 文档编号:21578485
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:34
- 大小:260.28KB
综合设计报告3333Word下载.docx
《综合设计报告3333Word下载.docx》由会员分享,可在线阅读,更多相关《综合设计报告3333Word下载.docx(34页珍藏版)》请在冰豆网上搜索。
学号:
班级:
类别
合计
分值
各项分值
评分标准
实际得分
合计得分
备注
平时表现
10
按时参加综合设计,无旷课、迟到、早退、违反实验室纪律等情况。
完成情况
30
20
按设计任务书的要求完成了全部任务,能完整演示其设计内容,符合要求。
能对其设计内容进行详细、完整的介绍,并能就指导教师提出的问题进行正确的回答。
报告质量
35
报告文字通顺,内容翔实,论述充分、完整,立论正确,结构严谨合理;
报告字数符合相关要求,工整规范,整齐划一。
5
课题背景介绍清楚,综述分析充分。
设计方案合理、可行,论证严谨,逻辑性强,具有说服力。
符号统一;
图表完备、符合规范要求。
能对整个设计过程进行全面的总结,得出有价值的结论或结果。
参考文献数量在3篇以上,格式符合要求,在正文中正确引用。
答辩情况
25
在规定时间内能就所设计的内容进行阐述,言简意明,重点突出,论点正确,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
补充说明:
指导教师:
(签字)
日期:
年月日
答辩记录表
班级:
答辩地点:
答辩内容记录:
答辩成绩
答辩小组成员(签字):
2010年6月日
指导教师评语
指导教师:
一、综合设计目的、条件、任务和内容要求:
利用哈夫曼编码进行信息通讯可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。
对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。
试为这样的信息收发站写一个哈夫曼码的编译码系统。
一个完整的哈夫曼码的编译码系统系统应具有以下功能:
I:
初始化(Initialization)。
从终端读入字符集大小n,几个字符和n个权值,建立哈夫曼树,并将它存于文件hfmtree中。
C:
编码(Coding)。
利用已建好的哈夫曼树(如不在内存,则从文件hfmtree中读入),对文件tobetrans中的正文进行编码,然后将结果存入文件codefile中。
D:
译码(Decoding)。
利用已建好的哈夫曼树将文件codefile中的代码进行译码,结果存入文件textfile中。
P:
打印代码文件(Print)。
将文件codefile以紧凑格式显示在终端上,每行50个代码。
同时将此字符形式的编码文件写入文件codeprint中。
T:
打印哈夫曼树(Treeprinting)。
将已在内存中的哈夫曼树以直观的方式(数或凹入表形式)显示在终端上,同时将此字符形式的哈夫曼树写入文件treeprint中。
[测试数据]
用下表中给出的字符集和频度的实际统计数据建立哈夫曼数,并实现以下报文的编码和译码:
“THISPROGRAMISMYFAVORITE”。
字符
--
A
B
C
D
E
F
G
H
I
J
K
L
M
频度
186
64
13
22
32
103
21
47
57
1
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
63
48
51
80
23
8
18
16
通过本设计可以巩固已经学过的基础课及专业课知识,开阔学生的视野,锻炼学生的自学能力及独立动手能力。
指导教师签字:
刘黎志
2009年9月11日
二、进度安排:
2010-6-21:
明确所选课题的具体要求,按要求阅读相关的参考文献及资料
2009-6-22至2010-7-1:
课题代码实现、课程设计报告书写
2010-7-2:
课程设计答辩
三、应收集资料及主要参考文献:
(所列仅为方向上的参考,具体条目请根据自己的实际情况,按参考文献书写)
1.程序设计基础
2.C++
3.数据结构
4.数据库系统概论
5.C#语言
6..NetFrameeork相关知识
四、综合设计(课程设计)摘要(中文):
哈夫曼编/译器设计:
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
但是,这要求这发送端通过一个编码系统对待传数据预先编码,在发送端将传来的数据进行译码(复原)。
对于双工信道。
每端都需要一个完整的编译码系统。
本程序将为这样的信息收发站写一个哈夫曼的编译码系统。
哈夫曼编码/译码程序运行步骤:
字查找,从英文文章中识别出单词和标点符号,并把单词和标点符号插入到一棵二叉排序树中。
哈夫曼树中序遍历,是为了把英文文章中的不重复的单词和标点符号保存起来。
哈夫曼编码,在已经构造好的霍夫曼树中从每个叶子结点出发追溯到树根,逆向找出霍夫曼树中叶子结点的编码,规定:
树中每个结点的左分支标上0,右分支标上1。
哈夫曼译码利用霍夫曼树实现对产生的编码文件的译码,译码过程为:
从根结点出发,按二进制位串的0或1进入左分支或右分支,当到达叶子结点时译出该叶子对应的单词或标点符号,若该编码文件尚未结束,则回到根结点继续进行上述过程。
所有的编码,译码过程在都在文件中进行。
运行环境:
windowsXP语言环境:
简体中文软件大小:
144KB编写工具:
MicrosoftVisualC++6.0操作环境:
MFC-Huffmanencoding/decodingbackground
五、综合设计(课程设计)Abstract(英文):
Abstract
Information:
Huffmancodingusedincommunicationcangreatlyimprovethechannelutilization,reducedtransmissiontime,andlowertransmissioncosts.However,thisrequiresthatthesenderthroughacodingsystemforpre-treatmentdata-coding,thetransmitterwillbesentfordecodingdata(recovery).Fordual-channel.Eachsideneedsacompleteencryptionsystem.ThisprocedurewillthisinformationhubsHuffmanwasoneoftheencryptionsystem.
Hoffmanncodeforcodingprocedurestorunthestepsand:
wordfromenglishinthewordsandpunctuationmarks,andinsertthewords,andpunctuationmarksasecondsortofatree.thetraversalorderhoffmann,toenglisharticlesdonotrepeatthewordsandpunctuationmarks.
Hoffmanntreeinordertotraversekeepthecodehasbeenconstructedinhoffmanngoodhafmantreeleavesfromthestartdatesbacktotabulatetheroots;
Theprovisionsineachtabulatethebranchesontheleftandrightononebranch.
Hoffmanndecodinghafmantheimplementationofthecodetothecoding,codingproceduresfor:
fromstarttotabulatetherootsofbinaryof0or1totheleftorright,asubdivisionofabranchistotabulatetheleavesoftheleavestranslatethewordsorpunctuationmarks,ifthecodefileisnotfinishedbutistotabulatetheprocessofcontinuing.allthecode,codingproceduresareinthefile.
Movementenvironment:
windowsXPlanguageenvironment:
&
#12288;
Simplifiedchinesesoftwaresize;
144KBcompilationtool:
MicrosoftVisualC++6.0operatingenvironments:
MFC-Huffmanencoding/decodingbackgroun.
摘要………………………………………………………………………………………II
Abstract…………………………………………………………………………………...II
第一章绪论………………………………………………………………………………..1
1.1究背景………..………………………………………………………………………...1
1.2设计目的…………………………………………..………………………………...…1
第二章设计简介及设计方案论述………………………………………………………..2
2.1计摘要…………………………………………………..…………………………...…3
2.2模块设计思想及简介………………………..……………………………………...…3
第三章详细设计…………………………………………………………..………………..4
3.1各功能模块算法设计简介………………………………………………………….…4
3.1.1字查找…………………………..……………………………………………….…4
3.1.2二叉排序树中序遍历………………..……………………………………………6
3.1.3构建哈夫曼树………………..…………………………………………….………7
3.1.4哈夫曼编码………………..…………………………………………………..……8
3.1.5哈夫曼译码………………..………………………………………………...………9
第四章设计结果及分析…………………………………………………..………………..11
4.1结果测试…………….…………………………………………………………...….…11
总结…….…………………………………………………..………………………...….…17
致谢…….…………………………………………………..………………………………18
参考文献…….………………..……………………………..………………………………19
附录主要程序代码………...……………………………..……………………...…….…20
摘要
哈夫曼编码/译码程序运行步骤:
字查找,从英文文章中识别出单词和标点符号,并把单词和标点符号插入到一棵二叉排序树中。
wordfromenglishinthewordsandpunctuationmarks;
andinsertthewords,andpunctuationmarksasecondsortofatree.thetraversalorderhoffmann,toenglisharticlesdonotrepeatthewordsandpunctuationmarks.
Hoffmanntreeinordertotraverse;
keepthecodehasbeenconstructedinhoffmanngoodhafmantreeleavesfromthestartdatesbacktotabulatetheroots;
Hoffmanndecoding;
hafmantheimplementationofthecodetothecoding,codingproceduresfor:
Movementenvironment;
第一章绪论
1.1研究背景
哈夫曼编码/译码背景介绍:
在计算机信息处理中,“哈夫曼编码”是一种一致性编码法(又称"
熵编码法"
),用于数据的无损耗压缩。
这一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编码。
这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目的)。
这种方法是由David.A.Huffman发展起来的。
例如,在英文中,e的出现概率很高,而z的出现概率则最低。
当利用哈夫曼编码对一篇英文进行压缩时,e极有可能用一个位(bit)来表示,而z则可能花去25个位(不是26)。
用普通的表示方法时,每个英文字母均占用一个字节(byte),即8个位。
二者相比,e使用了一般编码的1/8的长度,z则使用了3倍多。
倘若我们能实现对于英文中各个字母出现概率的较准确的估算,就可以大幅度提高无损压缩的比例。
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。
1.2设计目的
(1)为了对多媒体技术课程中霍夫曼编解码的深入学习,把霍夫曼编解码的理论知识应用到实践中去,更好地发挥理论联系实践的作用。
(2)为了更好地锻炼程序设计能力,使编程能力得到一定的提高,结合数据结构的知识,发挥数据结构在程序设计中的重要作用。
第二章设计简介及设计方案论述
2.1设计概要
设计思想,应用Huffman算法实现模拟编解码器,程序实现对输入的一篇英文文章以文本文件方式读入,输出Huffman码流时,以文本文件输出,并实现译码过程。
程序实现流程图如下所示:
图2-1哈夫曼编解码流程图
FIG.2-1huffmanndecodingflowchart
本程序的流程图说明:
本程序采用对一个单词或一个标点符号进霍夫曼编解码,因而功能模块1为:
从英文文章中识别出单词和标点符号,并把单词和标点符号插入到一棵二叉排序树中,然后是功能模块2:
中序遍历二叉排序树,是为了把英文文章中的不重复的单词和标点符号保存起来,最后是:
构造霍夫曼树、进行霍夫曼编码、利用霍夫曼树进行译码。
2.2模块设计思想及简介
字查找:
从某篇英文文章中从头至尾识别出单词和标点符号,把它们顺序地保存在一个字符类型的指针数组中,并把它们插入到二叉排序树中,在构造二叉排序树时,把每个单词或标点符号的长度和在文章中出现的频率求出来,从而得出它们的权值,权值的计算公式为:
权值=长度*频率。
哈夫曼树中序遍历:
中序遍历二叉排序树,在遍历时就可以把英文文章中的不重复的单词和标点符号保存在另一个字符类型的指针数组中,把它们的权值保存在一个整形数组中,把不重复的单词和标点符号的总个数保存在一个整形变量中。
构建哈夫曼树:
构造霍夫曼树。
第一步:
根据n个权值{w[0],w[1],…,w[n-1]}构造n棵二叉树的树的集合F={T[0],T[1],…,T[n-1]},其中每棵树T[i]中只有一个带权为w[i]的根结点,其左、右子树均为空。
第二步:
在F中选取两棵根结点的权值最小的树作为左右子树,构造一棵新的二叉树,置新构造二叉树的根结点的权值为其左、右子树根结点的权值之和。
第三步:
从F中删除这两棵树,同时将新得到的二叉树加入到F中。
重复第二、三步,直到F中只含有一棵树时为止。
这棵树就是霍夫曼树。
哈夫曼编码:
进行霍夫曼编码。
在已经构造好的霍夫曼树中从每个叶子结点出发追溯到树根,逆向找出霍夫曼树中叶子结点的编码,规定:
哈夫曼解码:
利用霍夫曼树进行译码。
利用霍夫曼树实现对产生的编码文件的译码,译码过程为:
第三章详细设计
3.1各功能模块算法设计说明
从某篇英文文章中从头至尾读取一个个字符,如果读到的字符是空格,就继续读下一个字符,直到读的字符不是空格为止,如果读取到的字符是英文字母时就可以判定一个单词开始了,继续往后读取字符直到读到的字符不是英文字母,这时可以判定这个单词结束了,这时可以把该单词保存在一个字符类型的指针数组
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 综合 设计 报告 3333