student: Hash-Funktion und assoz. Array

Beitrag lesen

Hallo,

ich bin Student und arbeite mich in das Thema Hashing und Hashfunktionen ein. Jetzt wollte ich das mal ein bisschen ausprobieren und habe folgendes versucht:

Es sollen die Zahlen von 0 bis 10 mit der Funktion h(k) = k mod 11 gehasht werden.

function h(k, N) {
 return k%N;
}

var hashTable = new Array();
document.write("k ---- h(k)");
for (var i = 0;i<11;i++) {
 document.write((i*i) + " ---- "+h((i*i),11));
 hashWert = h((i*i),11);
 if (typeof hashTable[hashWert] != "undefined") hashTable[hashWert]=hashTable[hashWert]+1;
 else hashTable[hashWert]=0;
}

document.write("<br>");

for (i in hashTable) {
 document.write("hashTable["+i+"]="+hashTable[String(i)]);
}

Irgendwie funktioniert das aber nicht so wie es soll. Kann mir jemand den Fehler zeigen und eventuell korrigieren?