问题描述:
哈弗曼编码可以实现一个文本的压缩编码,现有一个字符串代表文本内容,请问此文本经过哈弗曼编码后的大小是多少字节。
哈弗曼编码可以实现一个文本的压缩编码,现有一个字符串代表文本内容,请问此文本经过哈弗曼编码后的大小是多少字节。
如:“aabc”
建立一棵哈弗曼树可知上述字符串中的字符的编码
a:1
b:00
c:01
因此,“aabc”的哈弗曼编码为“110001”,共六个字节。
代码如下:
#include <iostream>
using namespace std;
char str[30]; //输入的字符
struct Node
{
Node *lchild;
Node *rchild;
char c; //字符
int value; //字符出现的频率
bool operator < (Node &A)
{
return value < A.value;
}