Ist es möglich, einen benutzerdefinierten Hash-Algorithmus zu erstellen, der eine Ganzzahl innerhalb eines bestimmten Bereichs bereitstellen kann? Beispiel unten.Benutzerdefinierter Hash-Algorithmus
(a, b) ist die Eingabe für den Hash. (a, b)! = (b, a) wobei a und b beide ganze Zahlen sind> = 0
Die Lösung muss innerhalb des Bereichs (min, max) liegen.
Wäre das möglich? Damit möchte ich (a, b) bei zwei Gelegenheiten hashen, um die gleiche ganze Zahl zu liefern, wenn auch die gleiche Entfernung gegeben wird.
Vielen Dank.
Ja, natürlich wäre es möglich. Warum versuchst du nicht, einen zu schreiben? –
Sie könnten von hier starten: [hashCode()] (https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode()) und um Zahlen zwischen einem bestimmten zu bekommen Bereich, den Sie verwenden können [modulare Arithmetik] (https://en.wikipedia.org/wiki/Modular_arithmetic) – Marco
Es ist unmöglich zu garantieren, dass (a, b)! = (b, a). Hashes sind nicht kollisionsfest. – shmosel