首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

哈希表选择

2012-12-29 
哈希表选择求助写一个检查单词拼写错误的程序(英文),字典大概有7W单词。哈希函数是:unsigned int HashTable

哈希表选择求助
写一个检查单词拼写错误的程序(英文),字典大概有7W单词。
哈希函数是:
unsigned int HashTable::hashCode(const string & p, int len)const

unsigned int h=0;
for(int i=0;i<len;i++)
{
h=h<<5|h>>27;
h+=(unsigned int)p[i];
}
h=h%capacity;
return h;
}
问题一:这里p是要检查的单词,len是什么呢?
问题二:哈希表选取多大呢?
问题三:冲突用double hash做,那么hash2选取什么函数呢?
多谢高手帮忙解答!
[解决办法]
1.由于有语句h+=(unsigned int)p[i];,所以len显然是p的长度.
2.由于有语句
h=h%capacity;
return h;
散列表的大小显然应至少为capacity.
3.由于本人不了解hash2是什么,故无法回答.
(是不是二次散列函数?)

热点排行