Reciprocal hashing: a method for generating minimal perfect hashing functions
Communications of the ACM
Minimal perfect hash functions made simple
Communications of the ACM
A compendium of key search references
ACM SIGIR Forum
A modulus oriented hash function for the construction of minimal perfect tables
ACM SIGPLAN Notices
Near perfect hash table for image databases
SAC '96 Proceedings of the 1996 ACM symposium on Applied Computing
The study of an ordered minimal perfect hashing scheme
Communications of the ACM
Minimal perfect hash functions for reserved word lists
ACM SIGPLAN Notices
A Dynamic Perfect Hash Function Defined by an Extended Hash Indicator Table
VLDB '84 Proceedings of the 10th International Conference on Very Large Data Bases
Image Retrieval Using Fuzzy Triples
VISUAL '99 Proceedings of the Third International Conference on Visual Information and Information Systems
Design and Implementation of COIRS (a COncept-based Image Retrieval System)
VISUAL '99 Proceedings of the Third International Conference on Visual Information and Information Systems
Pattern Recognition Letters
A perfect hash function for Ada reserved words
ACM SIGAda Ada Letters
An efficient hash-based searching for specimens in the museum's exhibit
Proceedings of the 3rd International Conference on Ubiquitous Information Management and Communication
Hi-index | 0.02 |
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.