二、核心组件
哈希表主要由三部分组成:
- 哈希函数 (Hash Function):计算索引。
- 哈希冲突解决 (Collision Resolution):处理两个 Key 算出同一个索引的情况。
- 数组 (Buckets/Slots):实际存储数据的容器。
2.1 哈希函数
作用:将任意长度的输入(Key),转换为固定长度的输出(索引 Index)。
$$ \text{Index} = \text{Hash(Key)} \ \% \ \text{TableSize} $$
好的哈希函数特点:
- 确定性:输入相同,输出必须相同。
- 高效性:计算速度要快。
- 均匀性:尽可能让结果均匀分布在数组中,减少冲突。
常见哈希算法:直接定址法、数字分析法、除留余数法 (最常用,即
% size)。