中南大学数据结构课程设计报告题 目哈夫曼编译器学生姓名孙毅指导教师杨希学 院信息科学与工程学院专业班级信息安全1401班二○一六年十一月目录一、课程设计目的 3二、课程设计的内容 、问题描述 、基本要求 3三、问题描述,解决的方法 ,以及n个字符和权值,建立哈夫曼树。 ,将结果存入相关文件中。 ,结果存入文件中。 ,以紧凑格式显示。 ,同时将此字符形式的哈夫曼树写入文件中。 7四、程序模块功能,程序设计组成框图、流程图 9五、调试与测试。调试方法,测试结果的分析与讨论,遇到的主要问题及采取的解决措施。 10六、测试结果,用几组测试数据进行测试算法设计的正确性 : 14七、本次课程设计的心得体会 16八、附录:源程序清单 17一、课程设计目的数据结构是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础,实践性强,课程设计是加强学生实践能力的一个重要手段。课程设计要求学生在完成程序设计的同时能够写出规范的设计报告,培养学生分析问题、解决问题,提高学生软件设计能力。二、、问题描述利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码。对于双向传输信息的信道,每端都需要一个完整的编译码系统。为这样的信息收发站编写哈夫曼编译系统。、基本要求(1)从键盘读入字符集大小n,以及n个字符和权值,建立哈夫曼树。(2)利用已建好的哈夫曼树对文件正文进行编码,将结果存入相关文件中。(3)利用已建好的哈夫曼树将编码文件中的代码进行译码,结果存入文件中。(4)输出代码文件,以紧凑格式显示。(5)以直观的方式输出哈夫曼树,同时将此字符形式的哈夫曼树写入文件中。3、问题描述,,以及n个字符和权值,建立哈夫曼树。,成员有权值、左右儿子、以及字符本身,再设计一个输入函数,函数中要求输入字符集大小n,以及这n个字符和他们各自对应的权值。,设计的函数包括有两个,一个是选中最小权值的两棵树,另一个是创建哈夫曼树。,将结果存入相关文件中。,再根据路径读取待编码文件里的内容,再利用哈夫曼树将内容编码。,,这个工作已经在编码路径的同时并完成了。,结果存入文件中。(2)是一样的,先是要求用户输入待译码文件的路径,再根据路径读取待译码文件里的内容,再利用哈夫曼树将内容进行译码,。,,以紧凑格式显示。这一步在将编码或者译码结果进行写文件的同时已经将结果打印到了窗口。,同时将此字符形式的哈夫曼树写入文件中。挨个将各个节点的内容的值打印到窗口以及写入文件,。4、程序模块功能,程序设计组成框图、,分别是:输入字符相关内容并建立哈夫曼树、根据哈夫曼树对文件内容进行编码、根据哈夫曼树对文件内容进行译码以及退出功能。 yesno Yesnoyes5、调试与测试。调试方法,测试结果的分析与讨论,遇到的主要问题及采取的解决措施。,在文件读写方面多多少少有些忘记了,所以本人此次的代码编写部分就大概分为两个阶段来完成的,第一个阶段就是完成建立哈夫曼树、写好编码以及译码函数,和主函数;第二部分呢就是完成读写文件。在第一阶段完成后,利用键盘输入的方式进行了编码与译码,测试还算顺利,在多次对比之下结果也鉴定为正确。
数据结构课设报告+哈夫曼编译器+c语言+源码 来自淘豆网www.taodocs.com转载请标明出处.