Huffman编码算法及C语言实现(2)
 构造完成后HT数组的状态如下:


Huffman编码算法及C语言实现(2)

通过huffman树,得到每一个叶子结点的huffman编码。在此采用的从叶子结点到根结点求每个字符huffman编码方法。从叶子c开始,通过结点c的双亲结点域,找到双亲,然后判断双亲结点的左孩子和右孩子是否为c,如果是左孩子,则编码为0,如果是右孩子则编码为1。按照这个方法,直到根结点,即求出每个叶子结点对应的huffman编码。

 


Huffman编码算法及C语言实现(2)

另外在构造huffman树中使用了Select函数实现选取n个叶子结点中权重最小的2个结点,算法很巧妙,请大家仔细研究:


Huffman编码算法及C语言实现(2)

主函数:

 


Huffman编码算法及C语言实现(2)

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-02
  • 2022-12-23
  • 2021-11-27
  • 2021-12-14
猜你喜欢
  • 2021-10-26
  • 2022-12-23
  • 2021-06-17
  • 2021-08-10
  • 2021-10-12
  • 2021-05-16
  • 2022-12-23
相关资源
相似解决方案