用Hash Table(哈希散列表)实现统计文本每个单词重复次数(频率)
Posted renyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Hash Table(哈希散列表)实现统计文本每个单词重复次数(频率)相关的知识,希望对你有一定的参考价值。
哈希表在查找方面有非常大应用价值,本文记录一下利用哈希散列表来统计文本文件中每个单词出现的重复次数,这个需求当然用NLP技术也很容易实现。
一、基本介绍
1、Hash Key值:将每个单词按照字母组成通过一个乘子循环运算得出一个小于29989的整数,29989是一个比较大的质数。0~29989即为Key值。
2、哈希函数:
1 //哈希函数 2 unsigned int hashIndex(const char* pWord) //返回hash表的索引(即hash指针数组的下标) 3 { 4 assert(pWord != NULL); 5 unsigned int index = 0; //以下四行为将一个单词映射到一个小于HASHNUMBER的正整数的函数 6 for (; *pWord != ‘