hashmap(高位右移16位 一)

本来只是想网上复习一下hashmap的面试题,然后看到别人讲计算hash的时候把key的hash值高位无符号右移16位 再异或运算 是为了减少哈希碰撞 ,以前从没想过是为啥  就去查了一大堆 网页瞬间满了 断断续续看了一下午 有点头绪了 但为啥是16位 whynot 32位  ,以前学的补码 反码  位运算 都快忘光了  在九章算法上看别人的视频讲的还挺好的  当年助教老师一整堂课也没讲明白到底是啥玩意,四个黑板写的密密麻麻的 唉 还有那时候学C语言 是我们学院的老院长 六七十岁了 在我们开学前暑假自学的谭浩强C语言教材,愣是给我们讲了一学期 ,每次坐在机房听着老头儿一字一句地的念课本  由衷的敬佩 啥叫敬业呀 这才叫干一行爱一行。 

题外话:网上很多讲源码的  话说大家为什么在讲同一个东西的时候 名称五花八门啊(苦笑)   可能有些是直译过来的  但还是喜欢通俗的叫法 ==

 

----------------------------------

md 人家一共就32位 好家伙 你来个32位右移    哥们儿说就是为了低位掺杂高位特性 反正就是这样更均匀,,,我说为啥  就没别的办法么 非得这样  他不想搭理我了 因为我觉得 就这么回答  面试官肯定以为这人搁这糊弄鬼呢....

posted @ 2021-11-09 17:14  十三‘  阅读(278)  评论(0编辑  收藏  举报