搜索奇怪的二叉树中的节点

时间:2012-10-28 10:20:44

标签: c++ algorithm binary-tree

我有一个二叉树,很奇怪:根是最高的数字,另一个是减少... (例子:霍夫曼树) 我需要制作一个搜索其中密钥的算法。

我尝试了很多,但我不知道怎么做=(

有什么建议吗?

例如像enter image description here

2 个答案:

答案 0 :(得分:6)

image you showed us中的树是霍夫曼树。此树中的节点表示在该节点下出现的键数。节点绝对不会提供有关可从该节点找到的密钥的信息。

由于您没有关于子树中的键的信息,您必须遍历整个树才能在其中找到密钥。

答案 1 :(得分:2)

您必须检查树中的每个节点。

如果性能很重要,请创建另一个映射,哈希表或二叉搜索树。在示例中,您显示正在搜索单个字符,如果使用8位字符集,则可以使用256个字符的数组。