哈希表(Hash Table)是一种基于键值对的高效数据结构,常用于快速查找、插入和删除操作。以下是其核心要点:

基本概念 💡

  • 原理:通过哈希函数将键转换为数组索引,实现数据存储与检索
    哈希表原理
  • 特点
    • 平均时间复杂度为 O(1)
    • 存在冲突(Collision)问题,需解决策略
  • 应用场景
    • 缓存系统(如Redis)
    • 词频统计
    • 数据库索引

冲突解决方法 🔍

  1. 链地址法(Chaining)
    链地址法
  2. 开放寻址法(Open Addressing)
    • 线性探测(Linear Probing)
    • 二次探测(Quadratic Probing)
    • 双哈希(Double Hashing)
  3. 再哈希(Rehashing)
    • 当负载因子过高时,扩容并重新计算哈希

优缺点对比 📊

优点 缺点
查找效率高 冲突处理复杂
动态扩容灵活 碰撞可能导致性能下降
支持快速插入/删除 空间利用率受哈希函数影响

扩展阅读 📚

哈希表应用场景