【C++:哈希】

时间:2025-04-03 17:13:22
  • 开散列/哈希桶(链地址法)

  1.  数组+链表的集合                                                                                                             数组中每个元素都是链表,每个链表都是发生发生哈希冲突的元素
  2. 如何使用?

(1)insert

  • 利用哈希函数计算出桶号
  • 创造节点
  • 头插进入哈希桶中

(2)扩容

  • new开辟空间
  • 把旧桶中的链表一一取下,计算新的桶号,头插到新桶中
  • 释放旧桶

(3)find

  • 通过哈希函数计算出需要查找的元素所对应的桶号
  • 检测该元素是否在该桶的链表中

(4)earse

  • 通过find函数查看所删除的元素是否存在
  • 如果存在,通过哈希函数计算出需要删除元素所对应的桶号,找到元素并删除