C的Hashtable实现

时间:2010-03-23 11:06:39

标签: c hashtable mpi

什么是C的良好哈希表实现?我需要将它与mpicc编译器一起使用。删除功能不是必需的。

2 个答案:

答案 0 :(得分:4)

glib中的那个非常好。但不确定它是否太大和/或可能与其余的glib分离。

如果不这样做,Pearson hashing似乎是实现自己的一个很好的起点(它是针对具有8位寄存器的机器优化的哈希函数)。

答案 1 :(得分:3)

如果密钥都是事先已知的,您可以使用perfect hash生成器来避免哈希表中隐含的空间开销。

另一方面,如果你真的需要一个完整的哈希表,我会建议Cuckoo Hashing的变体(例如d-ary版本)。

我已经满意地使用了Hopscotch Hashing的简化版本,即使在较高的负载因子下也能很好地工作。