先将字符按照频率从小到大排列,得到:C(2)、S(2)、T(3)、B(3)、A(4)。

构建 Huffman 树的步骤:

  1. 将所有节点按照频率从小到大排列;
  2. 选取频率最小的两个节点作为左右子节点,它们的父节点为它们频率之和;
  3. 将新的父节点插入到节点列表中,保持节点列表有序;
  4. 重复步骤 2-3,直到只剩下一个根节点。

huffman_tree

根据 Huffman 树,可以得到字符的编码:

  • C:00
  • S:01
  • T:10
  • B:110
  • A:111

因此,C 的编码为 00,S 的编码为 01,T 的编码为 10,B 的编码为 110,A 的编码为 111。

Huffman 编码:基于频率构建编码树

原文地址: https://www.cveoy.top/t/topic/nWkj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录