哈希表冲突,如何获得正确的值
Hash table collision, how to get the right value?
例如,"a"(键)和"b"(键")的哈希都指向位置10,而我使用"+1"方法来处理冲突,因此"b"的位置现在是11。
所以,如果我试图得到b(键),散列函数返回10,以及如何告诉散列函数返回11,这是应该的。
您必须检查存储的密钥并验证它是否匹配。否则,请"使用'+1'方法",然后重试。
您需要将(10)处的键与您正在搜索的值进行比较,如果它们不相同,则转到下一个位置,在这种情况下为(11)并重复。哈希表通常要求可以测试存储的值是否相等。
然而,这种风格的哈希有很多问题——你最好存储一个列表表。
相关文章:
- 正在查找文档以获得PS4平台的C++中的设备信息
- 如何从C++中的依赖类型中获得它所依赖的类型
- 欧拉项目#8答案是大以获得有效答案
- 写入位置0x0000000C时发生访问冲突
- 如何使用C/C++在MacOSX中获得键盘布局
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何在不产生任何垃圾的情况下获得C中的像素
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 有没有一种方法可以在编译时获得作用域类名
- 如何在C++中获得"静态纯虚拟"功能?
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- Python中的for循环与C++有何不同
- 引发异常:读取访问冲突**dynamicArray**为0x1118235.发生
- 如何设置一个范围来提取我想要获得的信息
- 在多次运行中获得一致的callgrind输出
- 尝试启动另一个进程并通过 MPI 加入它,但获得访问冲突
- STD ::切换到Boost 1.64时获得冲突
- 如果从其他线程访问(读/写)src缓冲区,是否有可能从memcpy获得访问冲突
- 哈希表冲突,如何获得正确的值
- 在通过函数创建边缘时获得访问冲突错误