Grund für die 5381-Nummer in der DJB-Hash-Funktion?
Kann mir jemand sagen, warum die Nummer 5381 in der DJB-Hash-Funktion verwendet wird?
DJB Hash Funktion ist
h (0) = 5381
h (i) = 33 · h (i-1) ^ str [i]
A c Programm:
unsigned int DJBHash(char* str, unsigned int len)
{
unsigned int hash = 5381;
unsigned int i = 0;
for(i = 0; i < len; str++, i++)
{
hash = ((hash << 5) + hash) + (*str);
}
return hash;
}