我了解当频率彼此不同时如何创建霍夫曼树,但是如果频率很少相同,我将如何绘制这个霍夫曼树:
在这里可以找到 Huffmann 树的简单解释
我正在尝试创建的霍夫曼树的数据:
Letter Frequency
A 15%
B 15%
C 10%
D 10%
E 30%
F 20%
现在我从两个最低频率开始,分别是 LetterC
和D
.
/ \
C D
但是下一步会是什么?因为我们有A
相同B
的频率,所以我们选择哪一个?如果我们选择其中一个,那么在选择第二个时,结构将如何看起来?
如果我选择B
那么它将看起来像这样(除非我错了)
.
/ \
B .
/ \
C D
这一步之后呢???
这些也可以用 Java 和 C 编码,我试图在实现它们之前先弄清楚它们是如何工作的。
编辑
我的树看起来像这样:
___________|_________________
/\ |
/ \ |
F E |
/ \ |
/ \ |
B A /\
/ \
C D
还从网上得到了一个例子