为了账号安全,请及时绑定邮箱和手机立即绑定

哈希图如何提供​​恒定时间的性能?

哈希图如何提供​​恒定时间的性能?

神不在的星期二 2021-05-10 09:34:56
这似乎是一个问题,已经被问了一百万遍了。但是我很长时间以来一直怀疑,并且还没有得到正确的答案。假设我有一个包含1100个元素的hashmap。我假设地图上有1000个水桶。因此,当我插入一个新元素时,它首先派生密钥的哈希,例如其676,现在它将检查676存储桶在哪里,并将该对象作为EntryObject放入存储桶中。现在我的问题是如何到达676桶?我假设这些存储区哈希值已编入索引,我的意思是有序。就像我有一本1000页的书,而我想转到676页一样,我无法直接打开该页面,根据书的宽度的假设,可以到达接近676页的页面。再尝试几次,我可以转到第676页。本书是否有100页或1000000页,与1:10000相比并没有多大区别,但是在到达确切的页面之前,我必须进行几次尝试。我的问题是,它在HashMap中如何发生?另外,如果您中的任何一位给我一些引导,以深入地了解内部工作原理,这将非常有帮助。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

这是一个数组查找。当您解析someArray [index]时,您不会翻阅页面,而是将一个元素的大小乘以索引后的值添加到第一个条目的地址中,就可以了。


查看完整回答
反对 回复 2021-05-19
  • 2 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信