<P> In this method, the hash is independent of the array size, and it is then reduced to an index (a number between 0 and array_size − 1) using the modulo operator (%). </P> <P> In the case that the array size is a power of two, the remainder operation is reduced to masking, which improves speed, but can increase problems with a poor hash function . </P> <P> A good hash function and implementation algorithm are essential for good hash table performance, but may be difficult to achieve . </P> <P> A basic requirement is that the function should provide a uniform distribution of hash values . A non-uniform distribution increases the number of collisions and the cost of resolving them . Uniformity is sometimes difficult to ensure by design, but may be evaluated empirically using statistical tests, e.g., a Pearson's chi - squared test for discrete uniform distributions . </P>

Efficiency of lookup operations in a hash table