霍夫曼树的想法遍历树并在C中返回路径

问题描述

因此,我正在用C语言为我的数据结构类项目构建霍夫曼编码器。我到了拥有树的地步,树的结构看起来还不错。现在,我需要一种遍历树以查找字母并返回路径的方法,以便可以将其打印到文件中。这棵树是固定的,只有最后一个节点拥有一个字符值

例如,假设您要寻找字母“ a”,然后扔树 右->左->左->右 我可以使用哪种递归或循环将返回路径。 right = 1,left = 0,因此返回类似1001的内容,然后我可以将其打印到文件中。

理想情况下,字符串是最好的,但是如果您有更好的主意,请告诉我!

解决方法

您不会。在树上搜索每个要编码的符号是很浪费时间的。

相反,您将一次扫描整个树,并生成所有符号及其关联代码的查找表。然后使用该表进行编码,该表可以由符号索引或映射。