Dynamic hash tables
- 1 April 1988
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 31 (4) , 446-457
- https://doi.org/10.1145/42404.42410
Abstract
Linear hashing and spiral storage are two dynamic hashing schemes originally designed for external files. This paper shows how to adapt these two methods for hash tables stored in main memory. The necessary data structures and algorithms are described, the expected performance is analyzed mathematically, and actual execution times are obtained and compared with alternative techniques. Linear hashing is found to be both faster and easier to implement than spiral storage. Two alternative techniques are considered: a simple unbalanced binary tree and double hashing with periodic rehashing into a larger table. The retrieval time of linear hashing is similar to double hashing and substantially faster than a binary tree, except for very small trees. The loading times of double hashing (with periodic reorganization), a binary tree, and linear hashing are similar. Overall, linear hashing is a simple and efficient technique for applications where the cardinality of the key set is not known in advance.Keywords
This publication has 8 references indexed in Scilit:
- Linear hashing with overflow-handling by linear probingACM Transactions on Database Systems, 1985
- Spiral Storage: Efficient Dynamic Hashing with Constant PerformanceThe Computer Journal, 1985
- Recursive linear hashingACM Transactions on Database Systems, 1984
- Performance analysis of linear hashing with partial expansionsACM Transactions on Database Systems, 1982
- Dynamic Hashing SchemesThe Computer Journal, 1982
- Extendible hashing—a fast access method for dynamic filesACM Transactions on Database Systems, 1979
- Universal classes of hash functionsJournal of Computer and System Sciences, 1979
- Dynamic hashingBIT Numerical Mathematics, 1978