哈希表线性探测数据结构
Hash table linear probing data structure
使用线性探测时,为什么不能为哈希表选择负载系数阈值 1.1?这应该适用于所有数字吗?
我不知道为什么我忘记了这个,但感谢izaak_pyzaak提醒我。
如果您使用的是线性探测,我将假设您没有链接哈希表。
正如 Arunmu 指出的那样,如果负载阈值大于 1,则未链接的哈希表将溢出。这至少会损坏哈希表,并可能导致程序崩溃。
大多数情况下,哈希表是在最大负载因子设置为 0.75 的情况下实现的,因为大于 0.75 的负载开始影响性能,并且表中的冲突量呈指数级增长。通常,大多数表应比预期的记录量大 2-3 倍,以减少冲突。
负载因子为 1 意味着哈希表在调整大小时已完全填充;在调整大小之前,会导致表上的哈希/搜索速度降低。如前所述,未链接哈希表上的负载因子为 1.1 将是一个主要问题。
我可能没有部分理解这个问题,(或根本没有)但是...
这是因为你不能有 1.1 个元素。您有 1 或 0(或 2、3、4 ...n) 元素。同样,您也不能有 5.5 个元素;您可以有 5 个或 6 个,但不能介于两者之间。如果您希望在 1 个元素之后增加阈值,只需将阈值设为 1。
相关文章:
- 链表,反向函数,数据结构
- 如何使用set实现无序数据结构?
- 我们可以将数据永久保存为数据结构吗?
- C++中的可变长度数组/数据结构
- 用于存储由空格分隔的字符串的 C++/C 数据结构
- 通过 NIF 从C++返回自定义数据结构
- 编译器上的策略数据结构不起作用
- 尝试构建"lock-free"数据结构C++
- 设计将引用元素移动到开头的数据结构.C++
- 在学习数据结构之前对STL有一个了解是好的吗?
- 如何解析表示树状数据结构的字符串
- 我对数据结构、双向链表有一些问题
- googletest:测试太大的数据结构
- C++中deque数据结构的大O是什么?
- 我可以使用哪种数据结构来处理这种方式
- 将文本文件解析为树状数据结构
- C++ 中具有 O(1) 搜索时间复杂度的数据结构
- 哪些存储了不完整类型的 STL 数据结构可以用作类成员?
- C++,您能否设计一种数据结构,将指针保存在连续内存中并且不会使它们失效?
- 哈希表线性探测数据结构