霍夫曼树,这是对的吗?

时间:2014-03-09 00:48:47

标签: huffman-code

我正在尝试创建一个正确的霍夫曼树,并想知道这是否正确。顶部的数字是频率/重量,底部的数字是ASCII码。字符串是 “hhiiiisssss”。如果我把它输入一个文本文件,那么只有一个LF是正确的吗?我不确定为什么我的程序会读两个。

                                14
                                -1
                            /       \
                           9         5
                           -1        s(115)
                         /   \
                         5   4
                        -1   i(105)
                       /   \
                      3     2
                  h(104)   LF(10)

1 个答案:

答案 0 :(得分:0)

在文本文件中,如果只有一行文本,则只有一个LF,正确。

但是还有其他问题。只有两个' h'在您的字符串中,但您的树显示三个,总共14个字符。我猜这是一个错字?

除此之外它看起来还不错,你的霍夫曼代码就是(取决于你是选择' 0'左或右):

s:   1
i:   01
LF:  001
h:   000