问题:哈希地址冲突有哪些解决方式?
1.问题背景:
常见于在提问集合时会出现:如hashmap;
2.解决方式
- 线性探测法
- 插入元素:若在插入元素时发生冲突,则算法继续从该槽位单步向下找空槽,放入即可;
- 查询元素:散列值若没有找到对应值,继续遍历哈希表寻找,可能发生的情况:找到对应元素、遍历整个哈希表没有找到、寻找到空槽,表示未找到
- 二次探测法
- 与线性探测法区别点 以平方次探测即1,4,9,16等等
- 链地址法解决哈希冲突
- 将元素不同、哈希值相同的放入同一个单链表中,此时哈希表的每个元素占位等于是各单链表的头指针,新插入的元素会放入头指针的位置。