四、性能分析
4.1 时间复杂度
| 操作 | 平均情况 | 最坏情况 (全冲突) |
|---|---|---|
| 插入 | ||
| 删除 | ||
| 查找 |
4.2 装载因子 (Load Factor)
衡量哈希表“满”的程度。
$$ \alpha = \frac{\text{填入表中的元素个数}}{\text{哈希表的长度}} $$
- 越大:冲突概率越大,查找越慢,空间利用率高。
- 越小:冲突概率越小,查找快,但浪费空间。
4.3 扩容 (Rehashing)
当装载因子超过某个阈值(如 Java HashMap 默认为 0.75)时,需要扩容。
- 申请一个2倍大小的新数组。
- 重新计算所有旧数据的哈希值,放入新数组(因为
% Size变了,位置也会变)。 - 这个过程非常耗时 ()。