hash表的容量与算法问题
hash表 如果以 hash.get(hashcode) 方式从一个数组里直接定位元素的话(假设无哈希碰撞发生)
那么 他这个 数组该是多大呢???
我们知道 hash散列算出的正整数值是很恐怖的一个大数, 至少得long去装吧. 这么恐怖的数量级, 如果要实现数组的话, 最小值 --> 最大值 相减所得到的跨度 应该超过数百万是不稀奇的吧?
那么, 也就是说 如果要实现一个仅有3个元素的hashtable, 你就得new一个 几百万个元素的数组去装载这3个元素. 并且将来add之后还有可能扩大这个跨度.
-----
如果不用这个跨度全覆盖的数组去做的话, 也还有办法,就是二分查找. 折半方式去找. 但这势必不是多了运算量么. 所以, 我想知道这个东西到底是什么情况.
因为我想,为了实现高速索引(不冲突情况下一击即中) 是不可能用掉这么恐怖的内存资源的. 但是详细的技术细节是什么呢, 往高手告知.
那么 他这个 数组该是多大呢???
我们知道 hash散列算出的正整数值是很恐怖的一个大数, 至少得long去装吧. 这么恐怖的数量级, 如果要实现数组的话, 最小值 --> 最大值 相减所得到的跨度 应该超过数百万是不稀奇的吧?
那么, 也就是说 如果要实现一个仅有3个元素的hashtable, 你就得new一个 几百万个元素的数组去装载这3个元素. 并且将来add之后还有可能扩大这个跨度.
-----
如果不用这个跨度全覆盖的数组去做的话, 也还有办法,就是二分查找. 折半方式去找. 但这势必不是多了运算量么. 所以, 我想知道这个东西到底是什么情况.
因为我想,为了实现高速索引(不冲突情况下一击即中) 是不可能用掉这么恐怖的内存资源的. 但是详细的技术细节是什么呢, 往高手告知.
...全文
相关推荐
从头到尾彻底解析Hash_表算法.zip_K._againstzvw_hash
一篇hash算法的介绍 第一部分为一道百度面试题 Top K 算法的详解 ; 第二部分为关于 Hash 表算法的详细阐 述;第三部分为打造一个最快的 Hash 表算法。
从头到尾彻底解析Hash_表算法
详细的讲解HASH表的使用方法,非常给力,分享一下,希望大家喜欢!
Hash在信息学竞赛中的应用 ACM必看
Hash在信息学竞赛中的应用 ACM必看 Hash在信息学竞赛中的应用 ACM必看 Hash在信息学竞赛中的应用 ACM必看
从头到尾彻底解析hash
详细讲解了hash的原理,并给出了实例研究
基于HashMap核心设计原理与一致性哈希算法实现的分库分表路由组件_SpringBootStarter_数据库水平拆分与垂直拆分_数据源动态切换与SQL表名替换_通过AOP拦截注.zip
基于HashMap核心设计原理与一致性哈希算法实现的分库分表路由组件_SpringBootStarter_数据库水平拆分与垂直拆分_数据源动态切换与SQL表名替换_通过AOP拦截注.zip


