Einzelnen Beitrag anzeigen

Gyrospeter

Registriert seit: 11. Apr 2019
49 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Abschlussprojekt FIAE (Optimierung von Algorithmen) -> Vergleich von Polygonen

  Alt 16. Mär 2022, 11:49
Bei RemoveIdenticalFromList musst du anhand deiner Testdaten prüfen, wie oft es wirklich vorkommt, dass wirklich doppelte und aufeinanderfolgende Einträge existieren.

Durch das Delete wird TListHelper.InternalDoDeleteN aufgerufen und das sorgt durch den Move Befehl für teure Speicheroperationen.
Vielleicht wäre hier ein Ansatz mit temporärer Liste mit vor initialisierter Länge besser, in der du nur die Elemente packst, die nicht doppelt sind.
Das ist eine gute Idee, müsste also dementsprechend nur jedes Element einzeln in die neue Liste packen und die Capacity der temporären Liste vordefinieren. Wie weiß ich denn dennoch, wie viele Elemente ich da reinpacken muss? Oder muss ich die Capacity nach jedem neu hinzugefügten Element um 1 erweitern?
  Mit Zitat antworten Zitat