键值对的树没有找到键

时间:2015-10-26 23:09:46

标签: java tree key

我有一个存储密钥及其值的树。这是我的查找操作:

c 5

这在尝试查找树的根时工作正常。例如,以下是输入和查找键的一些输出:

enter image description here

e 5生成一个带有单个密钥的根节点。 (默认值为0.0)

find()调用我的{{1}}函数并输入5,4,8,9 ..作为键。任何人都可以告诉我为什么,即使键输出为匹配,它们也不会返回1?

提前致谢!

1 个答案:

答案 0 :(得分:5)

如果在根目录中找不到密钥,则在左或右子项上递归调用方法,但忽略结果并返回0。尝试

return left.find(k);

return right.find(k);

此外,您似乎正在返回1而不是值;我这里只看到与密钥相关的代码。您可能希望在此处返回值而不是1。此外,0可以是有效值吗?如果是这样,则返回0可能意味着您找到了0,或者您找不到匹配项。 NoSuchElementException来表示找不到它。

,而不是返回0