感兴趣的领域是字符串匹配.假设我有这样的结构.
typedef struct { char *name,int (*function)(); } StringArray StringArray s[] = { {"George",func1},{"Paul",func2},{"Ringo",func3},{"John",func4},{"",NULL} /* End of list */ }
数组中有固定数量的字符串.它们是硬编码的,如在示例中.
如果表改变,则需要重新评估散列函数的质量.
我想对一个字符串应用一个哈希函数,如果字符串匹配一个数组,
然后调用该函数.需要一个完美的哈希函数.不允许碰撞.要求散列的目的是在查找中获得O(1)性能.
你有什么想法来设计功能来做到这一点?
解决方法
请参阅
gperf主页.