Skip to content

Chapter 6 Hash Table

约 209 个字 17 张图片 预计阅读时间 1 分钟

概念

alt text

将 key 映射到 i

symbol table是哈希表最常用的场景

alt text

哈希函数

alt text

类似32进制:27就够,但是32可以用位运算(左翼5位),快

解决冲突

分离链表法

alt text alt text alt text alt text alt text tablesize 和要插的数据量尽量相近,即 \(\lambda\) 接近1

开放寻址法

alt text

一般要求 \(\lambda < 0.5\)

  1. 线性查找

alt text

理论上平均探测次数见上图最下面

  1. 二次探测

alt text

二次探测work的条件:一半空且tablesize为质数

alt text

alt text alt text

这比直接算平方算的快

不直接删除而是更改元素状态的原因:如果直接删除查找的话到这里就退出了,后面的元素找不到了

alt text

  1. 二次哈希

alt text

重哈希

\[O(N)\]

alt text

出现问题,重新建哈希表,填入原来元素,用新哈希函数填入其他

颜色主题调整