Hashing einer Reihe von Ganzzahlen in einer von der Reihenfolge unabhängigen Weise

Ich möchte eine Reihe von Ganzzahlen hashen, sodass die Reihenfolge der Ganzzahlen keinen Einfluss auf den berechneten Hashwert hat. d.h.H([32224,12232,564423]) == H([564423,32224,12232]).

Die Anzahl der eindeutigen Sätze wird im Bereich einiger Millionen liegen. Geschwindigkeit istsehr wichtig, aber ich muss die Obergrenze für Kollisionen mit einem gewählten Ansatz kennen.

Wikipedia hat einen guten Abschnitt überHashing-Vektoren, aber ich verstehe die Mathematik dahinter nicht, um sie sicher in Code zu implementieren. Ich würde mich freuen, wenn jemand die Mathematik erklären kann, die mit einem Code verbunden ist. Im Idealfall möchte ich, dass der endgültige Hash aus 32 Bit besteht. Wenn es von Nutzen ist - werde ich dies in Java implementieren.

Aktualisieren: Ich versuche speziell, die Sortierung der ganzen Zahlen in der Menge aus Leistungsgründen zu vermeiden (bei vielen solcher Mengen).

Antworten auf die Frage(5)

Ihre Antwort auf die Frage