哈希函数和哈希表中的存储

Hash Functions and storage in hash table

本文关键字:存储 哈希表 函数 哈希      更新时间:2023-10-16

我正在学习编程,在教科书中,它指出给定键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是没有意义的。