我的字母表中包含频率,如:
e:17,4
n:9,78
j:0,27
等等。对于字母表中的每个字母。 我的问题是:
是否有任何程序/小程序生成具有这些给定频率的霍夫曼树?我发现的唯一生成器确实使用Text作为输入。
也许你们其中一个人可能有个主意!非常感谢你!
答案 0 :(得分:1)
如果您的源代码需要字母,计算它们的频率,然后应用霍夫曼算法,那么您可以简单地剥离计算频率的部分并直接在频率上使用霍夫曼算法。
否则,您可以自己编写霍夫曼算法。它是最简单,最优雅的算法之一,所以每个人都应该至少自己实现一次。您对频率进行排序并选择最低的两个。这两个符号作为树的第一个分支连接在一起。重新插入已排序列表中的频率总和。重复,直到所有符号都是树的一部分。