Hallo dizzy,
unter diesen Rahmenbedingungen halte ich es für besser, meinen Ansatz nur als Orientierung zu verwenden und stattdessen möglichst wenig im Speicher zu halten. Tatsächlich kann direkt bei Laden entschieden werden, ob ein Punkt abgebiltet werden muss oder nicht.
- Für diesen Ansatz wäre Marvins Konzept anwendbar, ohne jedoch eine Menge sortieren zu müssen sondern lediglich in eine sortierte Menge neue Einträge einzuordnen (O(n)=ln(n))
- Für den späteren Zugriff sollte zu jedem Punkt eine direkte Referenz in einer direkt addressierbaren Struktur (Array) abgelegt werden (die Menge der Punkt ist schon vor der Verarbeitung ermittelbar), mit der Komplexität O(n)=1 erreichbar.
Tatsächlich ist es nicht notwendig, eine Objektreferenz abzulegen: Es reicht vollkommen aus, den ermittelten Index des neu hinzugefügten Punktes bzw des gefundenen abzulegen
- Die Menge der Punkte wird gespeichert O(n)=n
- Beim Lesen des Shapes (O(n)=n) werden die ursprünglichen Indizes mit der direkt adressierbaren Struktur verglichen, um den neuen Index zu ermitteln O(n)=1 und
- unmittelbar in die Datei zurückgeschrieben O(n)=1
Wie man sieht, sollte sich das Problem mit einer Komplexität von
O(n)=n lösen lassen
Hallo Marvin,
Zitat von
marvin.maybe:
Die Flächen müssen natürlich auch schnell zugreifbar sein, aber dass sollte kein Problem sein, oder?
Wie willst Du das hinbekommen, ohne von jedem Punkt Referenzen zu halten? Wie hältst Du die Reihenfolge der Punkte (zB Uhrzeigersinn) aus Sicht einer Fläche bei, wenn Du lediglich eine Liste aller Flächen pro Punkt ablegst?