我有一棵二叉树,这很奇怪:根是最大的数字,而另一个是递减的……(示例:霍夫曼树)我需要制定一个算法来搜索其中的一个键。
我尝试了很多,但我不知道该怎么做=(
请问有什么建议吗?
例如像这样
我有一棵二叉树,这很奇怪:根是最大的数字,而另一个是递减的……(示例:霍夫曼树)我需要制定一个算法来搜索其中的一个键。
我尝试了很多,但我不知道该怎么做=(
请问有什么建议吗?
例如像这样
您向我们展示的图像中的树是一棵霍夫曼树。这棵树内的节点表示该节点下键的出现次数。节点绝对不会为您提供有关可以从该节点找到的密钥的信息。
由于您没有关于子树中键的信息,因此您必须遍历整个树才能找到其中的键。
您必须检查树中的每个节点。
如果性能很重要,请创建另一个映射、哈希表或二叉搜索树。在您展示的示例中,您正在搜索单个字符,如果您使用 8 位字符集,则可以只使用具有 256 个整数的数组。