- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈夫曼树的应用数据结构课程设计精选
各专业完整优秀毕业论文设计图纸
《数据结构》课程设计报告
题 目: 哈夫曼树应用
学生姓名:
学 号: 1
专业班级: 计科13102
同组姓名:
指导教师:
设计时间: 2014年下学期第18周
指导老师意见:
评定成绩: 签名: 日期:
目录
一、 需求分析 2
1. 分析问题 2
2. 确定解决方案 2
3. 输入的形式和输入值的范围 3
4.输出的形式 3
5.程序所能达到的功能 3
二、概要设计 4
1. 主程序的流程图: 4
2.程序中数据类型的定义: 4
3.各程序模块之间的层次(调用)关系: 4
三、 详细设计 5
1. 哈夫曼树存储及类的定义: 5
2.哈夫曼树的基本操作: 6
3.主函数 7
四、 调试分析和测试结果. 9
1. 测试数据及其输出结果: 9
2. 调试过程中遇到的问题及解决办法: 13
五、 总结 14
六、 参考文献 14
七、 致谢 14
八、 附录 14
需求分析
分析问题
利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。为这样的信息发站写一个哈夫曼码的编/译码系统。
输入的形式和输入值的范围
手动或者从文本中读入数据的形式初始化哈夫曼树,从键盘中或者文件中读入数据,以字母A-Z代表结点,以自然数代表权值,字符串提示使用者所要执行的操作。
?4.输出的形式?
在显示器界面上或者以文本的形式来实现程序调试的输出。
5.程序所能达到的功能?
(1)I:初始化(Initialization)。从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree中。
(2)E:编码(Encoding)。利用已建好的哈夫曼树(如不在内存,则从文件hfmTree中读入),对文件ToBeTran中的正文进行编码,然后将结果存入文件CodeFile中。
(3)D:译码(Decoding)。利用已建好的哈夫曼树将文件CodeFile中的代码进行译码,结果存入文件TextFile中。
(4)P:打印代码文件(Print)。将文件CodeFile以紧凑格式显示在终端上,每行50个代码。同时将此字符形式的编码文件写入文件CodePrin中。
测试数据利用下面这道题中的数据调试程序。某系统在通信联络中只可能出现八种字符,其概率分别为0.25,0.29,0.07,0.08,0.14,0.23,0.03,0.11,试设计哈夫曼编码。(2)用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”。字符??? 空格??? A??? B??? C??? D??? E??? F??? G??? H??? I??? J??? K??? L??? M字符??? N??? O??? P??? Q??? R??? S??? T??? U??? V??? W??? X??? Y??? Z??? 频度??? 57??? 63??? 15??? 1??? 48??? 51??? 80??? 23??? 8??? 18??? 1??? 16??? 1??? 实现提示(1) 编码结果以文本方式存储在文件CodeFile中。(2) 用户界面可以设计为“菜单”方式:显示上述功能符号,再加上“Q”,表示退出运行Quit。请用户键入一个选择功能符。此功能执行完毕后再显示此菜单,直至某次用户选择了“Q”为止。(3) 在程序的一次执行过程中,第一次执行I,D或E命令之后,哈夫曼树已经在内存了,不必再读入。每次执行中不一定执行I命令,因为文件hfmTree可能早已建好。1. 主程序的流程图:
?
2.程序中数据类型的定义:
用到三组结构体,分别是哈夫曼树的动态数组存储结构*HuffmanTree,哈夫曼编码表的存储结构HuffmanCode,字符结点的动态数组存储结构wElem?以及哈夫曼树类定义class?Huffman。
3.各程序模块之间的层次(调用)关系:?
主函数main()调用初始化
您可能关注的文档
- 农村公路改建工程施工组织设计精选.doc
- 农村信用社中间业务发展的现状、问题与对策精选.doc
- 农村留守儿童教育问题研究精选.doc
- 农村自来水改造工程规划报告精选.doc
- 农村留守儿童英语学习存在的问题及对策精选.doc
- 农村环境污染分析与防治对策精选.doc
- 再生资源回收利用网络体系建设项目可行性研究报告精选.doc
- 农村饮用水安全工程建设项目可行性研究报告精选.doc
- 农村饮水安全项目材料招标文件精选.doc
- 农村集中饮水工程测量及自动化控制系统设计书精选.doc
- 2024_2025学年新教材高中生物第四章生物的变异第二节基因重组使子代出现变异同步练习含解析浙科版必修2.docx
- 2024_2025学年高中政治第四单元当代国际社会第九课第1框国际社会的主要成员:主权国家和国际组织学案新人教版必修2.doc
- 2024_2025学年高中语文第二单元宋词第6课辛弃疾词两首课时作业含解析新人教版必修4.doc
- 2024_2025学年高中生物第3章植物的激素调节2生长素的生理作用课后检测含解析新人教版必修3.doc
- 2024_2025学年新教材高中化学第四章物质结构元素周期律第一节第3课时原子结构与元素的性质课后训练含解析新人教版必修第一册.docx
- 2024高考政治一轮复习课后限时集训38唯物辩证法的实质与核心含解析新人教版.doc
- 统考版2024高考历史二轮复习主题限时集训二理念至上法律法治演进与社会伦理教化含解析.doc
- 2024高考生物一轮复习专题7细胞的生命历程精练含解析.docx
- 2024_2025学年高中历史第4单元中国社会主义建设发展道路的探索第21课经济腾飞与生活巨变教师用书岳麓版必修2.doc
- 2024高中物理第二章匀变速直线运动的研究5自由落体运动课后作业含解析新人教版必修1.doc
最近下载
- CJJ_T 135-2009 (2023年版) 透水水泥混凝土路面技术规程正式版.pdf
- 肠道门诊知识考试试题及答案.doc
- 义务教育语文课程(2022版).pdf
- 2023.05.14 金沙之行考察报告(2023.05.14 改).pptx VIP
- 开放系统23661《计算机组网技术》期末机考真题及答案(第101套).docx
- 2022高二【语文(统编版)】大卫·科波菲尔(第二课时)课件.pptx
- 民事起诉状(征信名誉权纠纷).docx
- 第1讲 E.K.Strong销售技巧(上).doc VIP
- AQ1018-2006《矿井瓦斯涌出量预测方法》.pdf
- 吴兴区湖州市第十一中学教育集团社团类初中科学微型校本课程教材.pdf
文档评论(0)