CC++ & Algorithm
算法可视化
入门执行逻辑

哈夫曼编码

频率越高的字符编码越短:每次合并频率最小的两个节点,形成二叉树,左 0 右 1 得到编码。

main.cpp第 2 行
1// 哈夫曼: 每次合并频率最小的两个节点
2// 频率: A=5 B=9 C=12 D=13 E=16 F=45
3合并 5+9 = 14 // A、B → 14
4合并 12+13 = 25 // C、D → 25
5合并 14+16 = 30 // AB、E → 30
6合并 25+30 = 55 // CD、ABE → 55
7合并 45+55 = 100 // F、根 → 100
8// 编码: 左 0 右 1, 频率高编码短
变量表1 个变量
频率A=5 B=9 C=12 D=13 E=16 F=45
二叉树(左小右大)
空树
1/7

6 个字符和频率,频率高的字符希望编码短

1 / 7