Hash算法原理
![](images/u2507.png)
已提交,审核后显示!提交回复
共1条回复
yxh1956 共回答了14个问题
|采纳率85.7%- 这个问题有点难度,不是很好说清楚. 我来做一个比喻吧.
我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈.
然后把每个小猪,按照体重赶进各自的猪圈里,记录档案. 好了,如果我们要找某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗?
当然不需要了. 我们先看看要找的这个小猪的体重,然后就找到了对应的猪圈了.
在这个猪圈里的小猪的数量就相对很少了.
我们在这个猪圈里就可以相对快的找到我们要找到的那个小猪了. 对应于hash算法.
就是按照hashcode分配不同的猪圈,将hashcode相同的猪放到一个猪圈里.
查找的时候,先找到hashcode对应的猪圈,然后在逐个比较里面的小猪. 所以问题的关键就是建造多少个猪圈比较合适. 如果每个小猪的体重全部不同(考虑到毫克级别),每个都建一个猪圈,那么我们可以最快速度的找到这头猪.缺点就是,建造那么多猪圈的费用有点太高了. 如果我们按照10公斤级别进行划分,那么建造的猪圈只有几个吧,那么每个圈里的小猪就很多了.我们虽然可以很快的找到猪圈,但从这个猪圈里逐个确定那头小猪也是很累的. 所以,好的hashcode,可以根据实际情况,根据具体的需求,在时间成本(更多的猪圈,更快的速度)和空间本(更少的猪圈,更低的空间需求)之间平衡. - 1年前
相关推荐
大家在问
- 1What's happened to the carpet?这句话的's等于什么?怎么感觉应该说成What happen
- 2乌丝灯、节能灯、白炽灯.市价多少?
- 3已知函数f(x)=ax3-6ax2+b,问是否存在实数a、b使f(x)在[-1,2]上取得最大值3,最小值-29,若存在
- 4一个长方体,求原来表面积!急!华英小升初试卷啊!
- 5饮用水PH值不合格怎么处理
- 6配PH=3的溶液,盐酸浓度是多少
- 7the teacher told me that Mary did very good in drawing,good改
- 8How much is the company sold down this year?这句话对吗?
- 9用98%的浓硫酸和蒸馏水分别以等质量和等体积混合
- 10可能的反义词
- 11有哪些食品为高蛋白食品?人体哪些组织主要为蛋白质?一包饼干的营养成分有?
- 12诺曼底号遇难记读后感300字,急
- 13将50克高锰酸钾加热一段时间后,称得剩余固体的质量为46.8克,求参加反应的高锰酸钾的质量?
- 14空气的成分按体积分数计算,大约是:______占78%,______占21%,______占0.94%,______与其
- 15因业务发展需要 英语怎么说?