我正在为我的数据结构期末考试复习,并在去年的期末考试中遇到了一个问题。我已经花了过去三个小时来解决这个问题,除了通过试错之外,我仍然无法找出解决方法。以下是问题:
“假设您的哈希表大小为31,常量g也为31,并且您使用以下哈希代码
int hash = 0;
int n = s.length();
for (int i = 0; i < n; i++)
hash = g * hash + s.charAt(i);
并且您使用分离链接解决冲突。列出五个不同的名称,这些名称将哈希到表中的同一位置。
考虑到哈希表的大小为31,与常数g相同,我认为必须有某种技巧(可能涉及取模运算)来解决这个问题。对不起,如果我听起来像是在要代码或其他东西,但我只是想了解一些关于这个问题的想法/提示。任何意见都将不胜感激。谢谢。