哈希函数:键 转换为 下标值

解决冲突的方法

开放地址法

根据步长的区别分为三种方法

第一次哈希用作下标值, 第二次哈希用作步长

stepSize = constant - (key - constant)

实际中经常使用链地址方法

补充

补充:哈希(Hash)是把任意长度的输入通过哈希函数映射到固定长度输出的技术。在哈希表中常用两大冲突解决方法:① 开放地址法 —— 冲突时按规则(线性探测、二次探测、双散列)继续往后找空槽,缺点是易产生"聚集";② 链地址法(拉链法) —— 每个槽位维护一个链表(Java HashMap、Python dict 均采用此方案或其变种),删除简单、对负载因子容忍度高。哈希表平均增删查为 O(1),最坏 O(n)。

来源整理自:我的有道云笔记