你首先要实现两个函数:1是提前单词的函数,2是单词计数
1可以使用空格符和标点和分割,得到一个单词。
2可以将一个单词转换为整数,
/* A Simple Hash Function */
unsigned int simple_hash(char *str)
{
register unsigned int hash;
register unsigned char *p;
for(hash = 0, p = (unsigned char *)str; *p ; p++)
hash = 31 * hash + *p;
return (hash & 0x7FFFFFFF);
}
使用计数排序的方式记录单词的个数
再使用堆排序花费logn的时间得到频次最高的单词。