Moin,
kennt jemand zufällig eine einfache Hashfunktion die aus zwei Zahlen einen Hashwert generiert? Die Reihenfolge der Zahlen sollte nicht relevant sein. Also hash(x, y) == hash(y, x).
Ist das überhaupt möglich?
Lg
microkernel
Simple Hashfunktion für zwei Zahlen
- microkernel
- User
- Beiträge: 271
- Registriert: Mittwoch 10. Juni 2009, 17:27
- Wohnort: Frankfurt
- Kontaktdaten:
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
x + y mod 10
Einfach, kommutativ und deterministisch .. hast du sonst noch Wuensche an die Funktion?
Einfach, kommutativ und deterministisch .. hast du sonst noch Wuensche an die Funktion?
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@cofi: Ich finde ja die 10 ein bisschen gross. Wenn man stattdessen die 1 nimmt, kann man das statt mit Division mit Bitverknüpfung lösen. 

- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Ja mit 10 wirds nicht gerade handlich, Alternativen waeren natuerlich noch 5, 23 oder 42.
Die beiden letzten Werte sollte man natuerlich nur waehlen, wenn man grosses vor hat!

Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Aber der SyntaxErrror bzw NameError stoert dich nicht? Das sollte doch klar sein, dass es ein mathematischer Ausdruck war



Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Das kann nicht mathematisch sein. Mein Taschenrechner hat keine mod-Taste.cofi hat geschrieben:Aber der SyntaxErrror bzw NameError stoert dich nicht? Das sollte doch klar sein, dass es ein mathematischer Ausdruck war![]()
