Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
11. Dez 2015
@Namenloser
Danke für die Hilfe.
Ich werde aber doch erst mal eine Liste benutzen, da ich dort auch weiß, was wann wie passiert.
Wen ich es brauche und mir zutraue, schaue ich mir dann mal Deinen Baum an. Die benötigten Funktionen wären dann ja gleich/ähnlich, nur die innere Funktionalität würde dann ja anders ablaufen.
@Deja Vu
Ich habe diverse Interfaces, auf die ich auf...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
10. Dez 2015
Nein, ist kein Testprojekt.
Tatsächlich sind das Interfaces, die in Listen verwaltet werden.
Mit binärer Suche in Listen werde ich das gut lösen können.
Die Frage ist, ob es eine bessere Lösung gibt. Einen Aufwand würde ich in Kauf nehmen, wenn der Effekt ausreichend groß ausfällt.
Aber ich werde das wohl erst mal mit Listen umsetzen und kann das ja später ggf. nochmal austauschen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
10. Dez 2015
... und die Grundfrage: Aufwand/Performance im Vergleich zwischen "binärer Suche in Liste" und "binärer Suchbaum".
Wieviel aufwendiger wäre ein Baum und dafür wieviel schneller als eine Liste?
Die binäre Suche in einer Liste habe ich drauf. :nerd:
Würde es sich sehr lohnen, einen Baum aufzubauen?
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
10. Dez 2015
Ich hänge mich hier mal dran...
Ich habe eine unsortierte Personenliste. Die tatsächlichen Einträge ergeben quasi eine native Reihenfolge.
Nun möchte ich sortierte (und gefilterte - das soll hier aber nicht relevant sein) Sichten auf die originale Liste ermöglichen.
Mit MyList.CreateSortetView('Firstname') und MyList.CreateSortetView('Lastname') würde ich z.B. zwei Kopien der Liste...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by stahli,
19. Jan 2014
Ich verwalte eine sortierte Liste von Objekten so:
function TssObjectComparer.Compare(const O1, O2: TssObject): Integer;
begin
Result := CompareStr(O1.Id, O2.Id);
end;
function TssIO_Custom.GetObject(Id: TssId): TssObject;
var
Index: Integer;