计算机学院信管专业 数据结构课程设计 题 目: 哈夫曼树的应用 班 级: 姓 名: 学 号: 同组人姓名: 起迄日期: 课程设计地点: 指导教师: 评阅意见: 成绩评定: 评阅人: 日期: 完成日期:2012 年 12 月 2 目 录 一、 需求分析…………………………………………3 二、 概要设计…………………………………………4 三、 详细设计…………………………………………6 四、 调试分析和测试结果……………………………7 五、 心得体会和总结……………………………… 10 六、 参考文献……………………………………… 10 七、 附录…………………………………………… 11 3 一、 需求分析 (一)实验要求 要求用到数据结构课上学到的线性表的知识,所以就要充分而清晰的理解关于线性表的知识。 要求实现的基本功能很简单,只有删除和插入,增加功能也不过是加上修改。这些在数据结构课上已经讲过,只要能够理解关于线性表的几个相关的基本算法就可以了。 问题是将输入的信息保存入文件和从文件输出。这里基本是自学的内容,而且要考虑到是否要自行选择保存的磁盘。 综上,做这个课题,要具备的知识就是线性表的基本算法,文件的保存和读取算法,必要的 C 或者 C++知识(本次我将使用 C++实现),以及丰富的程序调适经验。 (二)实验任务 一个完整的系统应具有以下功能: 功能 1.从终端读入字符集大小n,以及 n 个字符和 n 个权值,建立哈夫曼树并将它存于文件 hfmTree 中.将已在内存中的哈夫曼树以直观的方式(比如树)显示在终端上; 功能 2.利用已经建好的哈夫曼树(如不在内存,则 从文件 htmTree 中读入),对 文件 ToBeTran 中的正 文进 行编 码 ,然 后 将结果 存入文件 CodeFile 中,并输出结果 ,将文件 CodeFile 以紧 凑 格 式先 是在终端上,每 行 50 个代 码 。同 时 将此 字符形 式的编 码 文件写 入文件 CodePrint 中。 功能 3.利用已建好的哈夫曼树将文件 CodeFile 中的代 码 进 行译 码 ,结果 存入文件 TextFile 中,并输出结果 。 (三 )实验步 骤 分步 实施 : 1)初 步 完成 总 体 设 计 ,搭 好框 架 ,确 定 人 机 对 话 的界 面 ,确 定 函 数个数; 2)完成 最 低 要求:完成 功能 1; 3)进 一步 要求:完成 功能 2 和 3。有兴 趣 的同 学可以自...