我正在尝试创建一个正确的霍夫曼树,并想知道这是否正确。顶部的数字是频率/重量,底部的数字是ASCII码。字符串是 “hhiiiisssss”。如果我把它输入一个文本文件,那么只有一个LF是正确的吗?我不确定为什么我的程序会读两个。
14
-1
/ \
9 5
-1 s(115)
/ \
5 4
-1 i(105)
/ \
3 2
h(104) LF(10)
答案 0 :(得分:0)
在文本文件中,如果只有一行文本,则只有一个LF,正确。
但是还有其他问题。只有两个' h'在您的字符串中,但您的树显示三个,总共14个字符。我猜这是一个错字?
除此之外它看起来还不错,你的霍夫曼代码就是(取决于你是选择' 0'左或右):
s: 1
i: 01
LF: 001
h: 000