Huffman编码的实现

2014-11-23 18:55:18 · 作者: · 浏览: 33

  有两个城市要进行通讯,已知他们通讯内容为字符集C且字符集中的每一个字符c的频率是f(c).现在要你给通讯内容编码使通讯信息量最少,并输出字符集C中每个字符的编码长度。


  [输入要求]


  有多组测试数据,每组数据的第一行是字符集C中的字符个数n(0


  [输出要求]


  对每组数据,按输入给定的字符集的顺序每行输出一个字符c和它的编码长度,中间用一个空格隔开。


  [样例输入]


  4


  A 10


  B 20


  C 2


  D 5


  [样例输出]


  A 2


  B 1


  C 3


  D 3


  代码与注释:


  #include


  #include


  using namespace std;


  typedef struct TreeNode


  {


  char c;


  int w;


  int parent;


  int right;


  int left;


  int tag;


  char * code;


  }Node;