Für Knobler: Perfekte Hash-Funktion für Matrizen gesucht
-
Hi Leute,
ich bin auf der suche nach einer "perfekten" Hash-Funktion.
Die Hashfunktion soll eine bestimmte Position in einer Beliebig
großen Matrix eindeutig durch eine Zahl bestimmen. Z.B. könnte
die Zahl 385 die Position der Zeile 17 und der spalte 9 sein.Genauer: der Schlüssel sind zwei INT variablen, die die Zeile
und die Spalte darsetllen sollen. Ich will also sozusagen allen
Positionen in der Matrix eine bestimmte Nummer geben (index des
späteren Hash-Vektors).Aber VORSICHT! In der Hash-Tabelle sollen später nur Einträge/Werte
stehen, die NICHT 0 sind (ich will vermeiden, dass viel Platz mit "0"
Einträgen verschwendet wird, denn die gibt es in meinen Matrizen oft)Ich hoffe ich habe nichts vergessen.
Vielleicht hat ja jemand Lust zu knobeln.Vielen Dank
atataSoweit bin ich schon selbst gekommen
int hash(int zeile, int spalte){ return _______; }
-
denk dir doch die matrix als Vector:
ZeilenPos * SpaltenAnzahl+SpaltenPos
-
crossposting (siehe C++)
-
Warum direkt die Spitze "erspringen", wenn man Sparse Matrizen auch erstmal mit normalen Listen implementieren kann, nach und nach kann man zu Hashfunktionen greifen... zumindest wäre das mein Weg.
Winn
-
Vielen Dank für den Support!
hat mir weiter geholfen!
bis bald
atata