1、 赫夫曼编赫夫曼编 译码器译码器 摘要 本次课程设计过程中我主要根据课本中的实现思想及算法编写程序,体现 以课本知识的应用为主,在学习了线性表、栈、队列、二叉树、树和图等结构的 基础上,以能够更加熟练的应用所学知识,并能结合一些著名算法来实现对一些 实际问题的应用,例如,赫夫曼树等,从而更为深刻理解数据结构的内涵,熟悉 它们各自的应用场合及方法。 有些在平时课程中并没有掌握的内容在这次课程设 计中都是先通过看课本学懂了,然后再在课程设计中加深印象,实现算法的应用 和扩展。 这次课程设计的设计内容主要是通过实际的例子和程序来实现课本中所 学习的算法的应用。程序设计设计语言采用 C+,程序运行平台
2、为 Windows XP。 赫夫曼编译码器的主要功能是先建立赫夫曼树,然后利用建好的赫夫曼树 生成哈夫曼编码后进行译码 。 赫夫曼编译系统分为五个功能模块:原始数据载入,打印编码规则、编码、 译码。以二叉树的应用为基础,包括统计信息,并通过构建赫夫曼树、对信息进 行赫夫曼编码,将编码信息等存入文档。 关键字 数据结构 栈和队列 赫夫曼树 赫夫曼编码 目录 1 引言.1 1.1 课程设计目的.1 1.2 课程设计背景.1 1.3 课程设计主要内容.1 2 需求分析.3 3 概要设计4 3.1 设计思想4 3.2 函数间的关系4 3.3 数据结构与算法设计4 4 详细设计.6 4.1 赫夫曼的主要结构6 5 调试分析8 6 测试并列出测试结果9 6.1 测试方式 9 6.2 测试结果9 7 总结13 致谢14 参考文献14 附录15 1 1 1 引言引言 当今社会,计算机技术和通信技术已不断发展,处理和传输的数据量越来越 庞大。如何采用有效的数据压缩技术引起了人们的极大重视。从而产生了哈夫曼 编码,它是一种应用广泛且非常有效的数据压缩技术,该技术一般可将数据压缩 20%至 90%,通常我们将压缩技术称为编码,解压缩过程称为解码。 树状结构简称为树,是一种以分支关系进行定义的层次结构,是十分重要的 非线性数据结构,在计算机软件设计方面,有着广泛的