Abstract
We present a new analysis of the well-known family of multiplicative hash functions, and improved deterministic algorithms for selecting “good” hash functions. The main motivation is realization of deterministic dictionaries with fast lookups and reasonably fast updates. The model of computation is the Word RAM, and it is assumed that the machine word-size matches the size of keys in bits. Many of the modern solutions to the dictionary problem are weakly nonuniform, that is, they require a number of constants to be computed at “compile time” for the stated time bounds to hold. The currently fastest deterministic dictionary uses constants not known to be computable in polynomial time. In contrast, our dictionaries do not require any special constants or instructions, and running times are independent of word (and key) length. Our family of dynamic dictionaries achieves a performance of the following type: lookups in time O(t) and updates in amortized time O(n^{1/t}), for an appropriate parameter function t. Update procedures require division, whereas searching uses multiplication only.
Original language | English |
---|---|
Journal | ACM Transactions on Algorithms |
Volume | 4 |
Issue number | 1 |
Pages (from-to) | 1-23 |
Number of pages | 23 |
ISSN | 1549-6325 |
DOIs | |
Publication status | Published - 2008 |
Keywords
- multiplicative hash functions
- deterministic algorithms
- dynamic dictionaries
- Word RAM model
- amortized update time