Forum: Object-Pascal / Delphi-Language
Delphi
by webcss,
16. Mär 2010
habs mal mit ansicomparetext getestet:
Das wäre das Ende der SkipList.
Bei 200.000 Einträgen ist Schluss mit Lustig (Suchzeit > 5 Sek.), beim Tree nach 500.000 Einträgen; einzig das Dictionary hält durch bis 1.000.000.
Wohlbemerkt, solange der Key ein string ist.
Nimmt man als key einen Integerwert, so sind AVL, SkipList und RBTree beim Insert in etwa gleich,
beim suchen siegt AVL...
Forum: Object-Pascal / Delphi-Language
Delphi
by webcss,
16. Mär 2010
...und weg war er!
SkipList rocks again!
Forum: Object-Pascal / Delphi-Language
Delphi
by webcss,
16. Mär 2010
UUPS, das stimmt :oops:
Aber, halt, mal schnell auf String umgesetzt
function rbTreeCompare(Item1, Item2: pointer): Integer;
begin
Result:= CompareText(string(Item1), string(Item2));
end;
Forum: Object-Pascal / Delphi-Language
Delphi
by webcss,
16. Mär 2010
Hallo,
hab mal ein bisschen damit gespielt und mal einen Red-Black-Tree mit einbezogen.
Die Ergebnisse sind ernüchternd, der Red-Black Tree outperformt alles andere, auch die vielzitierte SkipList.
Im Anhang mal der verwendete RBTree Code.
Zum Wertevergleich diente TListSortCompare wie folgt
function rbTreeCompare(Item1, Item2: pointer): Integer;
begin