Uppdelnings resten metod

Den kvarvarande division metod (se även modulo ) tillhandahåller en hashfunktion .

Funktionen är:

är storleken på hashtabellen.

egenskaper

  1. Hashfunktionen kan beräknas mycket snabbt
  2. Valet av tabellstorlek påverkar kollisionssannolikheten för funktionsvärdena för .

För de flesta ingångsdata är till exempel valet av en effekt på två för , det vill säga, olämpligt, eftersom detta motsvarar extraktion av de minst signifikanta bitarna av , så att alla de mer betydande bitarna ignoreras i hashberäkningen.

För praktiska tillämpningar, valet av ett primtal för vilket inte är en mersenneprimtal ger ett lågt antal kollisioner kan förväntas med många indata distributioner.

Hashing av strängar

Strängar kan hasas med delningsmetoden genom att konvertera dem till heltal vid basen , där teckenuppsättningens storlek anger.

För att undvika överflöd av heltal kan Horner-schemat användas för att beräkna hashvärdet för nycklar . Följande exempel visar beräkningen av ett hash-värde för en 7-bitars ASCII- teckensträng .

Detta innebär att maximalt möjligt mellanresultat kan uppstå.

Visas i pseudokod :

Parameter: natürliche Zahlen i, h=0; Feld s
 for i = 0 to i < länge_von(s)
	h = (h * 128 + s[i]) mod m;
Ergebnis: h.

Multiplikationen med 128 = 2^7motsvarar den vänstra bitförskjutningsoperationen << 7 .

litteratur

Individuella bevis

  1. Thomas H. Cormen, Charles E. Leiserson , Ronald L. Rivest , Clifford Stein: Introduktion till algoritmer . 2: a upplagan. MIT Press bland annat, Cambridge MA bland annat 2001, ISBN 0-262-03293-7 , s. 231 .