哈夫曼编码设计报告(3)

2019-06-02 15:05

武汉工程大学计算机科学与工程学院 综合设计报告

3.2 主要类及函数介绍

struct Node: 为结点,包含字符,频度,左右孩子,双亲; void InitHT1/2:对所输入的字符串进行预先哈夫曼树初始化; void SelectMin: 选取两个最小权值结点组成树; void CreatHT1/2:对哈夫曼树进行构造; void Output:扫描哈夫曼树,并输出编码; void Hfmym:扫描哈夫曼树,并输出译码。

- 7 -

武汉工程大学计算机科学与工程学院 综合设计报告

第四章 设计结果及分析

3.1 设计结果

(1)程序开始菜单

图4-1 系统菜单

(2)在进入第2层前,输入/输出文档已经建好

图4-2 文档建立

- 8 -

武汉工程大学计算机科学与工程学院 综合设计报告

(3)进入系统第一层,固定频度编码译码

图4-3 一层结果显示

(4)可在报文文档中输入需要编码的报文

图4-4 从文档输入

- 9 -

武汉工程大学计算机科学与工程学院 综合设计报告

(5)执行程序,便可在黑框及译码文档中看到编码

图4-5 第二层结果显示

图4-6 第二层编码显示在文档中

- 10 -

武汉工程大学计算机科学与工程学院 综合设计报告

总 结

在本次课程设计中,就在编写好源代码后的调试中出现了不少的错误,遇到了很多麻烦及困难,我的调试及其中的错误和我最终找出错误,修改为正确的能够执行的程序中,通过分析,我学到了:每个有文件的包含应该有个完整的开始和结尾,在头文件的开头些#ifndef,结尾#define。函数的调用应注意先后顺序,且每个函数中所申明的变量尽量不同,避免与全局变量重复定义。文件流应用的输入输出,可在文件中修改程序存储的值,并执行程序改变结果。

通过本次数据结构的课程设计,我学习了很多在上课没懂的知识,并对求哈夫曼树及哈夫曼编码/译码的算法有了更加深刻的了解,更巩固了课堂中学习有关于哈夫曼编码的知识,真正学会一种算法了。当求解一个算法时,不是拿到问题就不加思索地做,而是首先要先对它有个大概的了解,接着再详细地分析每一步怎么做,无论自己以前是否有处理过相似的问题,只要按照以上的步骤,必定会顺利地做出来。

这次的课程设计可以看作是一次理论与实践相结合的桥梁,通过这次的课程设计,我学习到了许多的知识,也认识到了自己目前的不足,那就是缺乏相应的知识与经验,所以在运用和操作方面体现了不足。但是,经过这段时间对相关书籍的阅读和查找,我顺利的完成了设计,我还明白了在编写程序的时候,应该尽量使界面简洁大方,布局统一。变量类型的定义,一定要够用就好,这样程序就可以尽可能的减少对系统资源的占用。在设计时也免不了存在着一些不足,所以在今后的学习中我会努力取得更大的进步,对于我不足的地方希望老师能够及时给予批评,以便我在今后的学习或工作中能够及时的改正。总之,这次实训为我提供了与众不同的学习方法,在书本中面对现实,为我将来在社会上立足提供了良好的前提。

虽然课程设计结束了,但是我发现围绕在我身边的知识无论是数据结构还是其它方面的知识,都像是眼前的大海,一望无际,永远都无法寻找到它的彼岸。也正是因为如此,我更加珍惜这次的课程设计。但是对知识的渴望,我会永不停止的,用有限的时间来填满我自己无限的知识海洋。为以后的人生奠定了坚实的基础。

- 11 -


哈夫曼编码设计报告(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小型SQL数据库系统(成绩管理系统)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: