哈夫曼编码-译码器

此次实验的注释解析多加不少---若对小伙伴们有帮助 希望各位麻烦点个关注 多谢

1.哈夫曼树构造算法为:

  (1)由给定的n个权值{w1,w2,…,wn}构造n棵只有根结点的二叉树,从而得到一个二叉树森林F={T1,T2,…,Tn}。
  (2)在二叉树森林F中选取根结点的权值最小和次小的两棵二叉树作为新的二叉树的左右子树构造新的二叉树,新的二叉树的根结点权值为左右子树根结点权值之和。
  (3)在二叉树森林F中删除作为新二叉树左右子树的两棵二叉树,将新二叉树加入到二叉树森林F中。
  (4)重复步骤(2)和(3),当二叉树森林F中只剩下一棵二叉树时,这棵二叉树就是所构造的哈夫曼树。

2.编程实战:

[问题描述](设计性实验)

哈夫曼树很易求出给定字符集及其概率(或频度)分布的最优前缀码。哈夫曼编码正是一种应用广泛且非常有效的数据压缩技术。该技术一般可将数据文件压缩掉20%至90%,其压缩效率取决于被压缩文件的特征。

利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时,降低传输成本。但是,这要求在发送端通过一个编码系统对待传送电文须预先编码,在接收须将传送来的数据进行译码。请自行设计实现一个具有初始化、编码、译码、输入/输出等功能的哈夫曼码的编码/译码系统。并实现以下报文的编码和译码:“this program is my favorite”。

[测试数据]

某通信的电文字符集为26个英文字母及空格字符,其出现频度如下表所示:

aaarticlea/png;base64,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" alt="" />

1、设计思想描述

(1)   问题分析。

先对输入的字符串进行操作

再利用haffman编码进行存储转译

实现节省传输成本

(2)  哈夫曼树中各结点的结构描述(提示:图示)。

(3)   哈夫曼树的存储结构描述(提示:分析采用顺序存储还是利用链式存储等)。

   顺序存储

2、主要算法设计与实现

[要求]

1、利用类模板来实现。

2、类中各成员函数要求给出自行设计的算法步骤描述及主要设计思想。

3、给出类中各成员函数算法设计实现。

4、对自行设计的各算法进行评估(提示:时间复杂度、空间复杂度等)。

答:

Haffman(int weight[], int n);                   //构造函数  时间复杂度O(n)

Code* HaffmanCode(int n,Code* haffCode,char* c);//将haffman进行编码  时间复杂度O(n^2)

ps:此处就计算所得的 时间复杂度来看有待改善

void encoding(int n,Code* haffCode);            //输出权值与编码  时间复杂度O(n)

void decoding(int n,Code* haffCode);            //输出译文  时间复杂度O(n)

3、代码实现

结构体构造

HaffNode-结点结构、Code-编码的数据元素结构

struct HaffNode                      //哈夫曼树的结点结构
{
int weight; //权值
int flag; //标记
int parent; //双亲结点下标
int leftChild; //左孩子下标
int rightChild; //右孩子下标
};
struct Code    //存放哈夫曼编码的数据元素结构
{
int bit[MaxN]; //数组
int start; //编码的起始下标
int weight; //字符的权值
char data;
};

Haffman类构造

#include <iostream>
using namespace std;
class Haffman
{
HaffNode *hn;//= new HaffNode[2*n+1];
Code *code;//=new Code[n];
int n;
public:
Haffman(int weight[], int n); //构造函数 时间复杂度O(n)
Code* HaffmanCode(int n,Code* haffCode,char* c);//将haffman进行编码 时间复杂度O(n^2)
void encoding(int n,Code* haffCode); //输出权值与编码 时间复杂度O(n)
void decoding(int n,Code* haffCode); //输出译文 时间复杂度O(n)
};
Haffman::Haffman(int weight[], int n)
//建立叶结点个数为n权值为weight的哈夫曼树haffTree
{
hn= new HaffNode[*n+];
int j, m1, m2, x1, x2;
//哈夫曼树haffTree初始化。n个叶结点的哈夫曼树共有2n-1个结点
for(int i = ; i < * n - ; i++)
{
if(i < n)
hn[i].weight = weight[i];
else
hn[i].weight = ;
hn[i].parent = ;
hn[i].flag = ;
hn[i].leftChild = -;
hn[i].rightChild = -;
}
for(int i = ;i < n-;i++)
{
m1 = m2 = MaxValue;
x1 = x2 = ;
for(j = ; j < n+i;j++)
{
if(hn[j].weight < m1 && hn[j].flag == )
{
m2 = m1; //m2放权值第2小的权值
x2 = x1; //m2放权值第2小的下标
m1 = hn[j].weight; //更新m1
x1 = j; //更新x1,下标
}
else if(hn[j].weight < m2 && hn[j].flag == )
{
m2 = hn[j].weight;
x2 = j;
}
}
//将找出的两棵权值最小的子树合并为一棵子树
hn[x1].parent = n+i;
hn[x2].parent = n+i;
hn[x1].flag = ;
hn[x2].flag = ;
hn[n+i].weight =hn[x1].weight+hn[x2].weight;
hn[n+i].leftChild = x1;
hn[n+i].rightChild = x2;
}
}
//哈夫曼编码算法如下:
Code* Haffman::HaffmanCode(int n,Code* haffCode,char* c)
//由n个结点的哈夫曼树haffTree构造哈夫曼编码haffCode
{
int child,parent;
code=new Code[n];
//求n个叶结点的哈夫曼编码
for(int i = ; i < n; i++)
{
code->start = n-; //不等长编码的最后一位为n-1
code->weight = hn[i].weight; //取得编码对应权值的字符
child = i;
parent = hn[child].parent;
//由叶结点向上直到根结点
while(parent != )
{
if(hn[parent].leftChild == child)
code->bit[code->start] = ; //左孩子结点编码0
else
code->bit[code->start] = ; //右孩子结点编码1
code->start--;
child = parent;
parent = hn[child].parent;
}
//保存叶结点的编码和不等长编码的起始位
for(int j = code->start+; j < n; j++)
haffCode[i].bit[j] = code->bit[j];
haffCode[i].start = code->start;
haffCode[i].weight = code->weight; //保存编码对应的权值
haffCode[i].data=c[i]; //存储原始数据
}
return haffCode;
}
void Haffman::encoding(int n,Code* haffCode)
{
for(int i = ; i < n; i++)
{
cout << "Weight = " << haffCode[i].weight << " Code = ";
for(int j = haffCode[i].start+; j < n; j++)
cout << haffCode[i].bit[j];
cout<<endl;
}
}
void Haffman::decoding(int n,Code* haffCode)
{
for(int i = ; i < n; i++)
cout<<haffCode[i].data;
cout<<endl;
}

主函数

#include <iostream>
#include <stdlib.h> const int MaxValue = ; //初始设定的权值最大值
const int MaxBit = ; //初始设定的最大编码位数
const int MaxN = ; //初始设定的最大结点个数
#include"Haffman.h"
using namespace std; int main()
{
int n;
//weight[]-权重(频率)数组
int weight[] = {,,,,,,,,,,,,,,,,,,,,,,,,,,};
//a[]-按顺序存放各个字母
char a[]={' ','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
char b[]; //存放输入字符串
int c[]; //存放对应b数组的权值
cout<<"请输入需要编码英文的字符串:";
cin.getline(b,); //将输入的字符串存储在b数组中 //将c数组权值与b数组字符串进行对应
for(n=;b[n]!='\0';n++)
{
for(int l=;l<;l++)
{
if(a[l]==b[n])
{
c[n]=weight[l];
break;
}
}
}
if(n > MaxN)
{
cout << "定义的n越界,修改MaxN! " << endl;
exit();
}
//生成haffCode数组用作存储 编码后的数据
Code* haffCode=new Code[n];
Haffman hm(c, n); //调用生成Haffman树
Code* co=hm.HaffmanCode(n,haffCode,b);//得到编码后数组co
cout<<"编码后:"<<endl;
hm.encoding(n,co); //对co进行遍历输出
cout<<"---------------------------------------"<<endl;
cout<<"译码为:"<<endl;
hm.decoding(n,co); //对编码数组操作得到译码
return ;
}

结果:

c++实验8 哈夫曼编码-译码器的更多相关文章

  1. C++实现哈夫曼编码/译码器(数据结构)

    设计一个哈夫曼编码.译码系统.对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件:反过来,可将编码文件译码还原为一个文本文件.(1) 从文件中读入任意一篇英文短文(文件为ASCII编码 ...

  2. SDUT 3345 数据结构实验之二叉树六:哈夫曼编码

    数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 字符的编 ...

  3. 20172332 2017-2018-2 《程序设计与数据结构》Java哈夫曼编码实验--哈夫曼树的建立,编码与解码

    20172332 2017-2018-2 <程序设计与数据结构>Java哈夫曼编码实验--哈夫曼树的建立,编码与解码 哈夫曼树 1.路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子 ...

  4. SDUT OJ 数据结构实验之二叉树六:哈夫曼编码

    数据结构实验之二叉树六:哈夫曼编码 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descr ...

  5. 图像压缩编解码实验(DCT编码+量化+熵编码(哈夫曼编码))【MATLAB】

    课程要求 Assignment IV Transform + Quantization + Entropy Coding Input: an intra-frame or a residue pict ...

  6. 使用F#来实现哈夫曼编码吧

    最近算法课要求实现哈夫曼编码,由于前面的问题都是使用了F#来解决,偶然换成C#也十分古怪,报告也不好看,风格差太多.一开始是打算把C#版本的哈夫曼编码换用F#来写,结果写到一半就觉得日了狗了...毕竟 ...

  7. 数据压缩之经典——哈夫曼编码(Huffman)

    (笔记图片截图自课程Image and video processing: From Mars to Hollywood with a stop at the hospital的教学视频,使用时请注意 ...

  8. 哈夫曼(Huffman)树+哈夫曼编码

    前天acm实验课,老师教了几种排序,抓的一套题上有一个哈夫曼树的题,正好之前离散数学也讲过哈夫曼树,这里我就结合课本,整理一篇关于哈夫曼树的博客. 主要摘自https://www.cnblogs.co ...

  9. [C++]哈夫曼树(最优满二叉树) / 哈夫曼编码(贪心算法)

    一 哈夫曼树 1.1 基本概念 算法思想 贪心算法(以局部最优,谋求全局最优) 适用范围 1 [(约束)可行]:它必须满足问题的约束 2 [局部最优]它是当前步骤中所有可行选择中最佳的局部选择 3 [ ...

随机推荐

  1. 简单了解 node http(一)

    简单了解 node http 模块 文章记录了对http 模块的简单使用与理解. http 服务端 http 客户端 总结 1. http 服务端 先写个小例子 服务端: let http = req ...

  2. error: (-215) !empty() in function detectMultiScale

    tips: pip install opencv-python or https://www.lfd.uci.edu/~gohlke/pythonlibs/ 原因确实是找不到 opencv 的 xml ...

  3. php中禁止单个ip与ip段访问的代码小结

    1.禁止单个IP <?php //IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...

  4. [SCOI2016]幸运数字(线性基,倍增)

    [SCOI2016]幸运数字 题目描述 A 国共有 n 座城市,这些城市由 n-1 条道路相连,使得任意两座城市可以互达,且路径唯一.每座城市都有一个幸运数字,以纪念碑的形式矗立在这座城市的正中心,作 ...

  5. P1086 花生采摘题解

    这道题只是普通的模拟,不是贪心! 重点在于这句话:“然后再找出剩下的植株里花生最多的,去采摘它的花生”. 也就是,你下一个必须找到剩下花生最多的,而不是按照贪心思想来考虑在限定时间内的最优解 那么,应 ...

  6. 校内题目T2691 桶哥的问题——送桶

    这是一道校内题目,但迷路的蒟蒻们同样被欢迎来此学习QWQ 题目描述: 题目背景 @桶哥本校——皎月pks大佬OrzOrz 买完了桶,桶哥要去送桶. 题目描述 桶哥买了nn个桶, 他要将这些桶送去nn个 ...

  7. 通过继承Thread类实现多线程

    (1)继承Thread类(2)重写run(方法(3)通过start0方法启动线程 一定的缺点: Java中的类是单继承的,一旦继承了Thread类,就不允许再去继承其它的类 线程和主方法之间的执行顺序 ...

  8. linux系统下导出MySQL文件

    1.配置:从centOS6.5系统,MySQL数据库 2.导出.sql文件的命令: mysqldump -uroot -h116.228.90.147 -P18006 -p aimo > /ho ...

  9. NodeJs 提供了 exports 和 require 两个对象

    Node.js 提供了 exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象. 创建 ...

  10. postman批量调用接口并发测试

    本文出自:https://www.cnblogs.com/2186009311CFF/p/11425913.html 接口测试在开发中很容易遇到,下面是请教别人学会的并发测试,希望能帮到需要用到的你, ...