Beitrag von hempelr (1976 Beiträge) am Samstag, 2.Juli.2005, 13:49.
Re: Sortieren von Summe von Hashwertliste - geht das in einem Ritt ?
nee, leider nicht, weil da ja auch Fließkommazahlen anstatt der Ganzzahlen drin stehen können. Die zwei Werte der Liste brauch ich auch noch für weitere Ausgaben.
Ausserdem brauch ich den kompletten Hash dann sortiert, um die (in diesem falle) Ortsnamen sortiert nach ihrer Summe von (in diesem Falle) Punktwerten für zwei (oder mehr) Kriterien, die jeweils Einzelpunkte erhalten, ausgeben kann, aber gleichzeitig noch Zugriff auf die Einzelwerte habe.
Da die Punktwerte arithmetisch nach einer bestimmten, nichtlinearen Rechenvorschrift auf Grundlage von in der DB gespeicherten Werten - hier installierte Fläche und Einwohnerzahl, einer Teilmenge von Datensätzen mit Schlüsselwert "Ort" (beliebig viele Datensätze) und in Abhängigkeit von "Art" (definierte Menge, gibt die Anzahl der Elemente des Value-Arrays zum Hash-Key "Ort" vor)- errechnet und dann dynamisch im Hash gespeichert werden, ist das eben "nicht ganz trivial".
Wie gesagt, mit Einzelwerten klappt das ja, mit einem zusätzlichen Hash, der als Values die Summen der Einzelwerte des Ursprungshash bekommt, funzt das auch. Aber da die Hashs u.U. mehrere MByte gross werden können muss bzw. wollte ich den Zwischenhash sparen.
Lieschen-Müller Rechnung: Ortsname als Key mit durchschn. 20 Zeichen (Byte) sowie zwei Fließkommazahlen (jede 16 Byte?), macht pro Hash-Wert 52 Byte, rechnen mer mal noch 8 Byte Verwaltungsinfos hinzu sind das 60 Byte pro Wert, bei 30000 Datensätzen/Elementen dann so um die 1,8 MByte.
Und dann zwei Hashs diese Größe sowie noch ein paar weitere Listen/Hashs mit ähnlicher Größe, da schlägt dann die Prozessbegrenzung zu und es geht nix mehr - oder sind meine Vorstellungen hier falsch?
Na - hoffe, dass vielleicht doch jemand ne Idee hat...