首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Hash表与素数

Hash表与素数

作者头像
用户4766018
发布2022-08-19 08:00:46
发布2022-08-19 08:00:46
3900
举报
文章被收录于专栏:格物致知格物致知

最近看到mysql的hash表,发现一个特点。 当hash表满的时候,hash表size总是扩展成一个素数。 上网查了一下资料,素数可以有效的减少hash冲突。 想了一下,这个确实是有道理的。

假设hash表大小为size,这是一个合数,即有size=a*n。当有hash值为hashcode,且hashcode = b*n. 则hashcode取模之后为 hashcode = hashcode%size = hashcode - (hashcode / size) * size = hashcode - (b/a) * size 因为a是固定的,那么上面的hashcode的取值只有b种可能,这样显然会增加冲突的概率。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2010/08/03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档