Che*_*eso 6 c hashtable perfect-hash
我有一个C语言应用程序,我需要进行表查找.
条目是字符串,所有在运行时开始时都是已知的.该表初始化一次,然后多次查找.该表可以更改,但它基本上就像应用程序重新开始一样.我想这意味着我可以使用完美哈希?可以花一些时间进行哈希表初始化,因为它只发生一次.
将有3到100,000个条目,每个条目都是唯一的,我估计80%的案例将少于100个条目.在这些情况下,简单的天真查找"足够快".(==没有人在抱怨)
但是,在有10k +条目的情况下,天真方法的查找速度是不可接受的.在C中为字符串提供良好的基于散列表的查找性能的好方法是什么?假设我没有像Boost/etc这样的第三方商业图书馆.我应该使用什么哈希算法?我该如何决定?