网站大量收购闲置独家精品文档,联系QQ:2885784924

西北工业大学数据结构试验(哈夫曼编码).pdf

西北工业大学数据结构试验(哈夫曼编码).pdf

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。——《旧唐书·魏征列传》

《数据结构》实验报告

班级:学号:姓名:

E-mail:*****************日期:2011年11月22日

◎实验题目:哈夫曼编/译码器

◎实验目的:设计合适的数据结构,熟悉二叉树的构造、遍历,并了解用哈夫曼

树解决字符变长编码问题。。

◎实验内容:通过算法实现,构造合适的数据结构,通过程序界面输入任意一段

字符,通过哈夫曼树的建立与遍历实现将字符按权值编成不等长的0、1代码,

将输入的字符转换成0、1代码并将0、1代码转化回字符,在这些过程中,将所

有的转化的输出保存在指定的文件中。

一、需求分析

1.本程序演示中,输入的字符串长度是未知的,通过计算权值的函数计算字符

串的长度与权值。

2.演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信

息”之后,由用户在键盘上输入相应数据。

3.程序执行的命令包括:

(1)输入字符串并计算权值;(2)寻找权值最小的两个结点;(3)构建哈

夫曼树并编码;(4)将字符文件转换为代码文件;(5)将代码文件转换为

字符文件;(6)输出文件程序;(7)结束。

4、测试数据:

输入字符串为:sadoijjoiwejmdodocnovikisdujvkmdcsbbyhadsnjsfbhavd

字符编码为:

s:00

a:0110

d:101

o:001

i:1100

j:010

w:111100

e:111101

m:10011

c:11010

n:11011

v:0111

k:11100

u:111110

b:1000

y:111111

h:11101

f:10010

代码为:

常将有日思无日,莫待无时思有时。——《增广贤文》

吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?——《论语》

00001101010011100010010001110011110011110101010011101001101001110

10110110010111110011100110000010111111001001111110010011101110100

00100010001111111110101101010001101101000010010100011101011001111

01

二、概要设计

为实现上述算法,选择循环单链表为本程序的存储结构。

1、基本操作:

Creat_message()

操作结果:通过输入字符串,构造文本文件

Calculate()

初始条件:文本文件已存在

操作结果:计算文本文件中各字符的权值

select()

初始条件:文本文件已存在,并且文件中各字符的权值已求出

操作结果:筛选出所有字符中权值最小的两个字符

HuffmanCoding()

初始条件:文本文件已存在

操作结果:构建哈夫曼树并编码

Transform()

初始条件:哈夫曼树已存在,并且文件已编码

操作结果:将字符文件翻译成代码文件

文档评论(0)

. + 关注
官方认证
内容提供者

专注于职业教育考试,学历提升。

版权声明书
用户编号:8032132030000054
认证主体社旗县清显文具店
IP属地河南
统一社会信用代码/组织机构代码
92411327MA45REK87Q

1亿VIP精品文档

相关文档