c – 您将如何设计一个完美散列函数?

前端之家收集整理的这篇文章主要介绍了c – 您将如何设计一个完美散列函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣的领域是字符串匹配.假设我有这样的结构.
typedef struct
{
    char *name,int (*function)();

} StringArray

StringArray s[] = 
{
    {"George",func1},{"Paul",func2},{"Ringo",func3},{"John",func4},{"",NULL}   /* End of list */ 
}

数组中有固定数量的字符串.它们是硬编码的,如在示例中.
如果表改变,则需要重新评估散列函数的质量.

我想对一个字符串应用一个哈希函数,如果字符串匹配一个数组,
然后调用函数.需要一个完美的哈希函数.不允许碰撞.要求散列的目的是在查找中获得O(1)性能.

你有什么想法来设计功能来做到这一点?

解决方法

请参阅 gperf主页.

猜你在找的C&C++相关文章