我正在学习编程,在教科书中它指出给定键 x、哈希表 A[] 和哈希函数 h() 键 x 它存储在 A[h(x)-1] 位置(使用 C++ 实现). 但是,将函数 h(x)=xmodM 用作哈希函数,其中 M 是哈希表的长度,我不知道 mod 0 的键存储在哪里。 例如,如果 M=10 和 x=60,我应该在哪里存储键值? 提前致谢!
最佳答案
这取决于 h()
的定义方式,如果它接受以 1 开头的值,那么这就是您在这个公式中有 -1
的原因: h(x)-1
。 c++ 中的数组从 0 开始索引。
如果您在 C++ 中计算 60 除以 10 的提醒值,那么您将得到值 0
(60 % 10 = 0
)。在这种情况下,减去 -1 是没有意义的。
关于c++ - 哈希函数和哈希表中的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39489382/