哈希表
哈希表是面试中「最实用」的数据结构——它把任意键映射到值,平均 O(1) 的查找/插入/删除让大量难题从 O(n²) 降到 O(n)。前端开发中,Object、Map、Set、缓存、依赖收集、去重、计数都依赖哈希表思想。本节从底层原理讲到 LRU 实现。
哈希表的工作原理
哈希表 = 哈希函数 + 冲突解决策略。
- 哈希函数
hash(key):把任意长度的键映射到固定范围的整数(数组下标)。 - 数组存储:用
hash(key) % capacity作为下标存值。 - 冲突处理:不同键可能映射到同一下标,需要解决方案。
key ──hash──> integer ──% capacity──> index ──> bucket
│
冲突时在此处挂链表或向后探测