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
    atata

    Soweit 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


Anmelden zum Antworten