Hash Functions
Not all hash functions are good; a good one should be easy to compute and should ``randomize'' symbols into different hash locations, not lump them into only a few hash values.
Some examples of good hash functions:
A typical re-hash function is simply to add 1 to the previous hash function value.