云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 哈夫曼树的编码与译码

哈夫曼树的编码与译码

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 8:22:31

上机实验报告

学 院: 计算机与信息技术学院 专 业: 计算机科学与技术(师范) 课程名称: 数据结构

实验题目: 哈夫曼树编码与译码 班级序号: 师范1班 学 号: 201421012731 学生姓名: 邓雪 指导教师: 杨红颖

完成时间: 2015年12月25号

一、实验目的:

本实验的目的是通过对简单的哈夫曼编/译码系统的设计与实现来熟练掌握树形结构在实际问题中的应用。设计要求对输入的一串电文字符实现哈夫曼编码,再对哈夫曼编码生成的代码串进行译码,输出电文字符串。 二、实验环境: Windows 8.1

Microsoft Visual c++ 6.0 三、 实验内容及要求:

本设计必须实现以下几个方面的功能: 1)哈夫曼树的建立 2)哈夫曼编码的生成 3)编码文件的译码 四、概要设计:

创建哈夫曼树,定义二叉树结点值的类型为字符型。

建立编码文件的基本思想是:将要编码的字符串中的字符逐一与预先生成哈夫曼树时保存的字符编码对照表进行比较,找到以后,将字符的编码写入代码文件,直至所有的字符处理完为止。

测验数据:7 5 2 3 8 10 20 五、代码 #include #include #define maxval 1024 #define n 5 #define m 2*n-1 typedef int datatype;

//定义结构体 typedef struct {

float weight;

int lchild,rchild,parent;

}hufmtree;

//定义结构体 typedef struct {

char bits[n]; int start; char ch;

}codetype; hufmtree tree[m]; codetype code[n];

//建立哈夫曼树

void HUFFMAN(hufmtree tree[]) {

int i,j,p1,p2; float small1,small2,f; for(i=0;i

printf(\哈夫曼编码与译码\\n\printf(\请输入叶子结点的权值:\for(i=0;i

for(i=n;i

p1=0;

scanf(\tree[i].weight=f; tree[i].parent=0; tree[i].lchild=0; tree[i].rchild=0; tree[i].weight=0.0;

}

}

p2=0;

small1=maxval; small2=maxval; for(j=0;j<=i-1;j++)

if(tree[j].parent==0)

if(tree[j].weight

if(tree[j].weight

tree[p1].parent=i+1; tree[p2].parent=i+1; tree[i].lchild=p1+1; tree[i].rchild=p2+1;

tree[i].weight=tree[p1].weight+tree[p2].weight;

small2=tree[j].weight; p2=j; small2=small1; small1=tree[j].weight; p2=p1; p1=j;

//哈夫曼编码

void HUFFMANCODE(codetype code[],hufmtree tree[]) {

int i,c,p; codetype cd; for(i=0;i

cd.start=n;

scanf(\c=i+1;

搜索更多关于: 哈夫曼树的编码与译码 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

上机实验报告 学 院: 计算机与信息技术学院 专 业: 计算机科学与技术(师范) 课程名称: 数据结构 实验题目: 哈夫曼树编码与译码 班级序号: 师范1班 学 号: 201421012731 学生姓名: 邓雪 指导教师: 杨红颖 完成时间: 2015年12月25号 一、实验目的: 本实验的目的是通过对简单的哈夫曼编/译码系统的设计与实现来熟练掌握树形结构在实际问题中的应用。设计要求对输入的一串电文字符实现哈夫曼编码,再对哈夫曼编码生成的代码串进行译码,输出电文字符串。 二、实验环境: Windows 8.1 Microsoft Visua

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com