我有一個C語言應用程序,我需要做表查找。哈希表查找 - 與完美哈希,在C
條目是字符串,全部在運行時開始已知。該表初始化一次,然後多次查找。表格可以更改,但基本上就好像應用程序重新開始。我認爲這意味着我可以使用完美哈希?可以花費一些時間進行散列表初始化,因爲它只發生一次。
將會有3到100,000個條目,每個條目都是唯一的,我估計80%的案例將少於100個條目。在這些情況下,簡單樸素的查找「足夠快」。 (==沒有人抱怨)
但是,在有10k +條目的情況下,樸素方法的查找速度是不可接受的。爲C中的字符串提供良好的基於散列表的查找性能的好方法是什麼? 假設我沒有Boost/etc等第三方商業圖書館。我應該使用什麼散列算法?我該如何決定?
http://www.gnu.org/s/gperf/? –
另外http://cmph.sourceforge.net/ – Nemo