This commit is contained in:
krahets
2023-02-26 19:53:26 +08:00
parent cf26cd551a
commit 9cd475d8c2
29 changed files with 180 additions and 0 deletions
+4
View File
@@ -26,6 +26,8 @@ comments: true
![链式地址](hash_collision.assets/hash_collision_chaining.png)
<p align="center"> Fig. 链式地址 </p>
链式地址下,哈希表操作方法为:
- **查询元素**:先将 key 输入到哈希函数得到桶内索引,即可访问链表头结点,再通过遍历链表查找对应 value 。
@@ -56,6 +58,8 @@ comments: true
![线性探测](hash_collision.assets/hash_collision_linear_probing.png)
<p align="center"> Fig. 线性探测 </p>
线性探测存在以下缺陷:
- **不能直接删除元素**。删除元素会导致桶内出现一个空位,在查找其他元素时,该空位有可能导致程序认为元素不存在(即上述第 `2.` 种情况)。因此需要借助一个标志位来标记删除元素。