|
0
|
| yong _ta_Park · 技术社区 · 2 年前 |
|
|
1
1
扩展我的评论:如果你阅读代码中的评论,你会看到
这意味着在构建树时,需要打破平局以保持一致的秩序,这种情况发生在
另一方面
正如你所看到的,在这个逻辑中没有必要打破平局。搜索是以确定性的方式进行的,即使重建了树,也会返回相同的结果——这就是打破平局所确保的。
编辑
:使用不是很有意义吗
不,这不起作用,因为平局打破使用每个密钥的身份哈希代码来确定顺序,并且该代码看起来是“随机的”(即,同一类的两个相等实例可以具有完全不同的身份哈希码)。 让我们举一个例子:为了简单起见,让我们假设以下键类:
如您所见,如果我们现在有一个使用
让我们假设我们使用以下密钥,这些密钥恰好具有相同的哈希代码(用于参数的假设):
平局打破现在会命令他们
现在假设您正在查找带有密钥的条目
如果你认为“是的,因为密钥的身份哈希代码是1234”,那么想想看:你可能不知道密钥的确切实例,所以你生成了一个新的实例-
然而,这个新实例得到了身份哈希代码1001——如果你点击
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |