Hashcode berechnen
Von: , Frage gestellt am Sa, 26. Aug 2000
Hallo, wie kann ich aus einer Zeichenfolge (ca. 10-30 Zeichen) einen Hashcode berechnen. Meine Anforderungen an den Algorithmus sind, dass er erstens unwahrscheinlich schnell ist und zweitens möglichst gut sich auf möglichst viele Hash-Felder verteilen lässt.
Ich habe mal einen primitiven Ansatz mir ausgedacht, weiss aber nicht ob der so ideal ist. Ich zähl einfach den Ascii-Code jedes Zeichens zusammen und mach dann ein Modulo durch die Feldanzahl.
Hier der Code:
#define HASH_HEIGHT 1000
char* string = "Dies ist der Text";
int key = 0;
char* iterate = string;
while (*iterate != '\0')
{
key += *iterate;
iterate++;
}
key %= HASH_HEIGHT;
