Practical Minimal Perfect Hashing Functions for Large Databases

dc.contributor.authorFox, Edward A.en
dc.contributor.authorHeath, Lenwood S.en
dc.contributor.authorChen, Qi-Fanen
dc.contributor.authorDaoud, Amjad M.en
dc.contributor.departmentComputer Scienceen
dc.date.accessioned2013-06-19T14:36:46Zen
dc.date.available2013-06-19T14:36:46Zen
dc.date.issued1990en
dc.description.abstractWe describe the first practical algorithms for finding minimal perfect hash functions that have been used to access very large databases (i.e., having over 1 million keys). This method extends earlier work wherein an 0(n-cubed) algorithm was devised, building upon prior work by Sager that described an 0(n-to the fourth) algorithm. Our first linear expected time algorithm makes use of three key insights: applying randomness whereever possible, ordering our search for hash functions based on the degree of the vertices in a graph that represents word dependencies, and viewing hash value assignment in terms of adding circular patterns of related words to a partially filled disk. Our second algorithm builds functions that are slightly more complex, but does not build a word dependency graph and so approaches the theoretical lower bound on function specification size. While ultimately applicable to a wide variety of data and file access needs, these algorithms have already proven useful in aiding our work in improving the performance of CD-ROM systems and our construction of a Large External Network Database (LEND) for semantic networks and hypertext/hypermedia collections. Virginia Disc One includes a demonstration of a minimal perfect hash function running on a PC to access a 130,198 word list on that CD-ROM. Several other microcomputer, minicomputer, and parallel processor versions and applications of our algorithm have also been developed. Tests including those wiht a French word list of 420,878 entries and a library catalog key set with over 3.8 million keys have shown that our methods work with very large databases.en
dc.format.mimetypeapplication/pdfen
dc.identifierhttp://eprints.cs.vt.edu/archive/00000223/en
dc.identifier.sourceurlhttp://eprints.cs.vt.edu/archive/00000223/01/TR-90-41.pdfen
dc.identifier.trnumberTR-90-41en
dc.identifier.urihttp://hdl.handle.net/10919/19628en
dc.language.isoenen
dc.publisherDepartment of Computer Science, Virginia Polytechnic Institute & State Universityen
dc.relation.ispartofHistorical Collection(Till Dec 2001)en
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.titlePractical Minimal Perfect Hashing Functions for Large Databasesen
dc.typeTechnical reporten
dc.type.dcmitypeTexten

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR-90-41.pdf
Size:
1.53 MB
Format:
Adobe Portable Document Format