Hallo, ich suche
eine möglichst Platz- und Zugriffszeitsparende
Möglichkeit, dynamisch Werte (z.B. integer) in
einem beliebig großen (x,y)-Gitter abzulegen.
Die Koordinaten ein neuer (x,y)-Wert kommt nur
dann dazu, wenn schon (x-1,y) existiert (Zeilenverlängerung)
oder es kann (0,y+1) hinzukommen, falls (0,y) schon
existiert (schon allokiert wurde).
Für Mathematiker:
Einfach ausgedrückt suche ich eine topologisch
homöomorphe Triangulation eines N-Dimensionalen
Kartesischen Produktes aus Fock-Räumen, wobei
„N“ wiederum ein Element eines Fock-Raumes ist.
Beispiel:
Ich will bei einem gegeben Text zwei
Änderungen durchführen können:
- Anhängen eines Zeichens ans Ende einer Zeile.
- Anhängen einer neuen Zeile ans Ende des
Textes, bestehend aus einem einzigen Zeichen.
Das Problem bei der üblichen Speicherung ist,
dass, wenn ich irgendwo in der mitte des
Textes ein Zeichen einfügen will, muss ich alles,
was dahinter kommt, um ein Zeichen shiften.
Dieses shiften will ich vermeiden.
Speichere ich den Text in einer Matrix mit
Spaltenzahl gleich maximaler Zeilenlänge gibts
zwei Probleme: 1. Wenn die längste Zeile um
eins verlängert wird, 2. ich verschwende
ganz arg viel Speicherplatz, wenn die
Zeilenlängen insgesamt sehr unterschiedlich sind.
Hat jemand schon mal von so einem Problem gehört?
Gruss, Marco