文章目录
GoLang之Map底层
1.Map结构
1.1结构
var a map[string]string
1.2时间复杂度分析
1.3设计简单哈希表
2.hmap结构体
3.bmap结构体
4.扩容规则
4.1翻倍扩容
4.2等量扩容
如果负载因子没有超标,但是使用的溢出桶很多,也会触发扩容,不过这一次是等量扩容。如果常规桶数目小于等于“2的15次方”,那么使用溢出桶数目超过常规桶就算是多了。如果常规桶数目大于“2的15次方”,那么使用溢出桶数目一旦超过“2的15次方”就算是多了
3.键值对选择桶的二种方法
4.解决哈希冲突的两种方法
4.1哈希冲突
假如现在已经选中了2号桶
4.2开放地址法
4.3拉链法