In the pseudorandom method, the key is used as the seed in a pseudorandom number generator and the resulting random number is then scaled into the possible address range using modulo division. A common random number generator is shown below.
y = ax + c
This method is also known as MAD which stands for multiply, add and divide. To use the pseudorandom number generator as a hashing method, we set x to the key, multiply it by the coefficient a, and then add the constant c. The result is then divided by the list size with the remainder (see “Modulo-Division Method,”) being the hashed address. Let’s demonstrate the concept with an example from Figure 6. To keep the calculation reasonable, we use 17 and 7 for factors a and c, respectively. Also, the list size in the example is the prime number 307.
y = ((17 * 121267) + 7)modulo 307
y = (2061539 + 7) modulo 307
y = 2061546 modulo 307
y = 4
We will see this pseudorandom number generator again when we discuss collision resolution.
No comments:
Post a Comment