当您在哈希中插入项目时,密钥是否被编码到物理内存空间,因此查找时间非常快?即恒定的查找时间。
问问题
61 次
2 回答
3
Entry
通过使用引用数组,它具有几乎恒定的查找时间(假设您有少量的冲突) 。
Java 不直接操作地址位置,因为这些位置可以随时由GC更改。
于 2012-12-11T16:18:32.920 回答
0
哈希表的想法是将项目存储在一个数组中,索引从键计算得非常快(在java中,键Hashtable
的hashcode()
方法被调用并用于获取索引(以表的长度为模) )。
当表不是太满时,此索引处的此表中的元素(链接)很少。查找元素只是将它们的键与传递的键进行比较。
因此,对于几乎空的桌子来说,这是恒定的时间,但当桌子满了时,时间会更长一些,因为冲突意味着你需要进行更多的比较。
于 2012-12-11T16:20:06.313 回答