Hash Functions (cont)
A slightly more sophisticated hash function
int hash(char *key, int N)
{
int h = 0; char *c;
int a = 127;
for (c = key; *c != '\0'; c++)
h = (a * h + *c) % N;
return h;
}
|
Converts strings into integers in table range.
But poor choice of a (e.g. 128) can result in poor hashing.
|