Einzelnen Beitrag anzeigen

Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Vorteil von auf Primzahlen skalierten Hashmaps?

  Alt 10. Jul 2010, 16:51
Hallo,

erst mal Danke euch beiden für eure Antworten.

Ich hatte schon vermutet, dass es irgendwas mit der gleichmäßigen Verteilung zu tun hat, aber in meinen Tests konnte ich eben keinen Unterschied nachvollziehen.

1. Wie bekomme ich denn heraus, ob ein Hash-Algorithmus nur bei einer Primzahl-Größe gute Werte liefert? Hashfunktionsfamilien habe ich nicht vor zu benutzen, das wäre für meinen Zweck wahrscheinlich Overkill.

2. alzaimars Klasse berechnet immer erst einen 32 Bit breiten Hash und "kürzt" diesen dann mithilfe des mod -Operators. Ist das eine gute Lösung? Bzw. wäre das vielleicht so ein Fall, wo eine primzahl-große Hashmap von Vorteil ist?

3. Als Alternative fiele mir noch Bitmasking ein, was im Falle einer 2^n-großen Hashmap ja sowieso dasselbe wäre, wenn man immer die niederwertigsten Bits maskiert. Da wiederum stellt sich die Frage, was denn besser ist: Immer die niederwertigsten Bits maskieren, oder verteilt über den gesamten Hash Bits herauspicken?

Soweit erst mal meine Fragen.
Danke auch für den Link, ich werde mir das mal zu Gemüte führen. Vielleicht beantworten sich ja einige meiner Fragen schon dadurch.
  Mit Zitat antworten Zitat