开放寻址哈希表的原理与实现
1. 双哈希法概述
双哈希法是一种优秀的探测方法。在开放寻址哈希表中,当 i = 0 时,探测的位置计算方式为 (94 + (0)(113)) mod 1699 = 94 ,随着 i 的增加,会以每隔 113 个位置的方式进行探测。
双哈希法的优点是能在哈希表中实现元素的良好分布。但它也存在缺点,为确保在任何位置被探测两次之前,表中的所有位置都能在一系列探测中被访问到,对哈希表的大小 m 有一定限制。
2. 开放寻址哈希表的接口
开放寻址哈希表提供了一系列接口函数,以下是这些接口的详细介绍:
| 函数名 | 返回值 | 描述 | 复杂度 |
|---|---|---|---|
ohtbl_init |
初始化成功返回 0,否则返回 -1 | 初始化开放寻址哈希表。在使用其他操作之前,必须先调用此函数。需指定哈希表的位置数量、两个辅助哈希函数、匹配函数和销毁函数。 | O(m),m 为哈希表的位置数量 |
ohtbl_destroy |
无 | 销毁开放寻址哈希表。调用此函数后,除非再次 |
超级会员免费看
订阅专栏 解锁全文
62

被折叠的 条评论
为什么被折叠?



