go map
哈希表: 哈希表使用桶来保存k,v
使用hash函数 hash(k) 来确定v存在哪里
怎么确定位置呢? hash(k)=e e%m 或者 e &(m-1) 其中第二种方法要保证 m为2的正数次幂 4 =100 4-1=3=011 这样才能保证所有的桶都能被选中。
如果出现了hash碰撞怎么解决:
开放地址:如果碰撞了则将该k存在下一个不冲突的位置,寻找时如果发现 k并不是我们的k 则向下继续寻找,如果遍历完都没有就是不存在。
拉链法:在发生冲突的桶后边加一个新创建的桶的指针,引向新的
原创
2022-03-23 17:52:42 ·
113 阅读 ·
0 评论