multiple - python plot numpy array



Schneller Hash für 2 Koordinaten wo Ordnung keine Rolle spielt? (1)

Sie können dazu den Hash () eines fixedset verwenden .

>>> hash(frozenset([(10, 20), (11, 22)]))
1735850283064117985
>>> hash(frozenset([(11, 22), (10, 20)]))
1735850283064117985

Frozensets wurden speziell für diese Art von Anwendungsfall entwickelt (dh frozensets sind intrinsisch ungeordnete Sammlungen, die unveränderlich und waschbar sind).

Hoffe, diese Antwort nimmt dein Recht auf das, was du brauchst :-)

Gibt es eine Formel, die ein Einweg-Hash für 2 Koordinaten (a, b) und (c, d) für eine ganze Zahl ist, wobei a, b, c und d positiv sind? Reihenfolge spielt hier keine Rolle, daher sollte die Formel die gleichen Ergebnisse liefern, wenn (a, b), (c, d) und (c, d), (a, b) . Die Reihenfolge der tatsächlichen Zahlen in jedem Koordinatenpunkt ist gleich ( (a, b) ist nicht dasselbe wie (b, a) ). Geschwindigkeit ist der Schlüssel hier, die Formel sollte schnell sein und O (1) Komplexität haben.

Hinweis - Was ich gerade mache, ist das Sortieren der zwei Koordinaten unter Verwendung von Pythons Gebäude in sort und dann deren Verwendung als Schlüssel in Pythons eingebautem Wörterbuch (also eingebautem Hashing). Ich brauche einen schnelleren Weg, dies zu tun, so dass ich die beiden Koordinaten selbst zu einer Ganzzahl hashen kann.





hashcode