0

当您在哈希中插入项目时,密钥是否被编码到物理内存空间,因此查找时间非常快?即恒定的查找时间。

4

2 回答 2

3

Entry通过使用引用数组,它具有几乎恒定的查找时间(假设您有少量的冲突) 。

Java 不直接操作地址位置,因为这些位置可以随时由GC更改。

于 2012-12-11T16:18:32.920 回答
0

哈希表的想法是将项目存储在一个数组中,索引从键计算得非常快(在java中,键Hashtablehashcode()方法被调用并用于获取索引(以表的长度为模) )。

当表不是太满时,此索引处的此表中​​的元素(链接)很少。查找元素只是将它们的键与传递的键进行比较。

因此,对于几乎空的桌子来说,这是恒定的时间,但当桌子满了时,时间会更长一些,因为冲突意味着你需要进行更多的比较。

于 2012-12-11T16:20:06.313 回答