ACM SIGPLAN Notices · 1982 · 41 citations · 3 references
ComputingComputer ScienceAlgorithmsData StructuresDatabasesHash FunctionsHash TablesLookup TablesSearching AlgorithmsString AlgorithmsBacktracking SearchExecution Time AnalysisHash Table ImplementationsHash Table Search AlgorithmsHashingMinimal Perfect HashingPerfect HashingString Indexing
Cichelli has presented a simple method for constructing minimal perfect hash tables of identifiers for small static word sets. The hash function value for a word is computed as the sum of the length of the word and the values associated with the first and last letters of the word. Cichelli's backtracking algorithm considers one word at a time and performs an exhaustive search to find the letter value assignments. In considering heuristics to improve his algorithm we were led to develop a letter oriented algorithm that handles more than one word per iteration and that frequently outperforms Cichelli's. We also investigate the impact of relaxing the minimality requirement and allowing blank spaces in the constructed table. This substantially reduced the execution time of the algorithm. This relaxation and partitioning data sets are shown to be two useful schemes for handling large data sets.
3
Minimal perfect hash functions made simple
Richard J. Cichelli · Communications of the ACM · 1980 · 136 citations · Full text
G. Jaeschke · Communications of the ACM · 1981 · 84 citations · Full text