【发布时间】:2013-03-27 18:02:34
【问题描述】:
我有一个包含整数和字符的节点二叉树。我正在研究霍夫曼编码,我想获得节点的二进制表示。每个左分支都附加一个“0”,每个右分支附加一个“1”。
我正在考虑搜索一个 char 但跟踪其分支,如果它不在左侧节点中,请删除附加到字符串的最后一个“0”并返回并检查右侧。 这看起来非常有任务。我还有其他方法可以跟踪节点吗?
编辑: 我必须使用二叉树。
【问题讨论】:
-
我的问题不清楚吗?
-
真的是字符串吗?您不希望这些位成为实际位吗?
-
哪个更好/更容易?
-
取决于你想用它们做什么——如果你只是为了亲自检查结果(例如,如果你想了解霍夫曼编码的工作原理)那么字符串很好。如果您要对它们进行一些实际的压缩,那么位会更有用。 (否则你最终只会一直将字符串转换为位,这很慢而且毫无意义)
-
哦,好吧。我只是用它们来理解霍夫曼编码。谢谢。
标签: c++ algorithm binary-tree huffman-code