如果您没有树,那么您将不得不构建它。它本质上是霍夫曼编码算法的一部分,就在您需要构造字符串之前。
现在,如果您不知道文本中字符的频率,那可能是个问题,因为字符可能由不同的位数表示。这是一个字母成本不等的霍夫曼编码示例。
如果不是这种情况并且每个字母的成本相同,那么您将能够推断出一棵树,但这将非常困难,因为您需要在最终得到代码之前尝试不同的字母分配一张合法的地图。
一旦你有了树,解码应该不是什么大问题(至少在理论上)。以下是一些关于使用 Huffman alg 进行编码/解码的资源:
Wiki-page、
2、
applet