好文档 - 专业文书写作范文服务资料分享网站

哈夫曼树及其应用 

天下 分享 时间: 加入收藏 我要投稿 点赞

专业基础实践报告

题 目 哈夫曼树及应用

起讫日期 2008年6月30日至 2008年7月11日

所在院系 软 件 学 院

学生姓名 专 业 计算机

班 级 学 号

指导教师 职称

所在单位 软 件 学 院

2008年 7 月 11 日

目录

一、 任务及要求··············································1 二、 总体设计················································3 三、 运行效果···············································16 四、 总结···················································22 五、 附录···················································23

参考文献

1. 唐策善 ? 《数据结构---用C语言描述》 ? 高等教育出版社 ?1995 ? p50~p120 2. 谭浩强 ? 《C程序设计》 ? 清华大学出版社 ? 2005 ? p330!p348

一、任务及要求

在本专业基础实践中,综合C语言程序设计、离散数学、数据结构等学过的专业基础课程中的基本概念、基础知识和基本理论,进行软件设计的思想、方法和过程的训练,提高综合素质和动手能力,达到加强专业基础知识理解程度和熟练程度的目的。具体任务及要求如下: 1、任务

(1)给定一个包含10个以上字符的字符串,长度不少于100个字符,统计各个字符的概率,存放在数组中。

(2)根据上面统计的结果建立哈夫曼树。 (3)实现哈夫曼编码。 (4)实现哈夫曼译码。

(5)自己选做1~2个附加的任务。 2、要求

(1)算法中处理的数据要存放在文件中,实现文件的读写操作。 (2)设计程序中的各个C函数、画出模块图。 (3)程序的代码要规范、有详细的注释。

(4)按照指导教师给出的模板进行专业基础实践报告书写。 二、工作量

在2周(10个工作日)时间里,完成15-20个C函数,150-200行代码。并提交专业实践报告一份,字数不少于5000字(包括英文字符)。 三、计划安排

第1个工作日-第2个工作日:查找相关资料、书籍;确定逻辑结构并进行运算的

定义;选择存储结构并进行算法设计。

第3个工作日-第7个工作日:完成程序的编码,并且自己调试、测试。穿插进行

实践报告的撰写。

第8个工作日-第9个工作日:整理并完成专业基础实践报告,提交指导教师。 第10个工作日:由教师检查软件测试效果、审阅实践报告,评定成绩。

指导教师签字:

2008年6月26日

一.总体设计

1.功能模块设计

本C语言程序共包括12个C函数,函数名及其功能如表1所示

表1 函数名及其功能 序号 函数名 主要功能 输入文件名,新建文件,并向文件输出 字符 打开一个已经存在的文件 统计字符文件里所有字符的总数 分别统计文件每个字符的总数 计算文件里每个字符出现的概率 备注 1文件名10个字符内 确保可读 26个字母 5个常用字符 存入No[] 存入gailv[] 存入1 2 3 4 5 6 7 8 9 CREATFILE OPENFILE READ EACHREAD PROBABLY HUFMANTREE 以概率为权建立哈夫曼树 HUFMANCODE OUTCODE CHCODE 根据哈夫曼数对每个字符进行初始化编码 输出每个字符的初始编码到屏幕 对每个编码赋上相应的字符,使字符与编码结合,方便后续应用 即时输入二进制编码,转化为可读的字符文本显示在屏幕 code[i].bits 字符与编码对应输出 字符存入 code[i].ch 翻译 10 DECODE 11 TANSFER 12 13 14 MAIN 即时输入,转换成二进制编码显示在屏幕 加密 主函数,进行功能调用,完成程序 完成程序 - 1 -

2.函数之间的调用关系

函数之间调用的功能模块图如图1所示。 Main() PROBABLY HUFMANCODE OUTPUTCODE READ EACHREAD HUFMANTREE CHCODE CREATFILE

OPENFILE TANSFER DECODE 二、详细设计

1.数据的逻辑结构

本程序主要讨论哈夫曼树的逻辑结构,而简化之即时讨论一般二叉树的逻辑结构。

假设有A ,B ,C, D, E, F, G ,H ,I节点,树形结构如下:

G 用二元组表述则为: 设B=(K,R),r∈R。 K={A,B,C,D,E,F,G,H,I}

r={(A,B),(A,C),(B,D),(D,G),(D,H),(E,E),(C,F),(F,I)}

- 2 -

A B C D E F H I

哈夫曼树及其应用 

专业基础实践报告题目哈夫曼树及应用起讫日期2008年6月30日至2008年7月11日所在院系软件学院学生姓名专业计算机
推荐度:
点击下载文档文档为doc格式
3bhui8fzz034ka295j7z7yqpo85slb00d1d
领取福利

微信扫码领取福利

微信扫码分享