Forum: Algorithmen, Datenstrukturen und Klassendesign
by patti,
5. Mär 2012
Eine "Warnung" sollte da nicht ausgegeben werden, es soll nur, sobald bei einem Rekursionsschritt festgestellt wird, dass das zu sortierende Intervall kleiner als der festgelegte Wert ist, "automatisch" auf ein anderes Sortierverfahren gewechselt werden, welches bei kleineren Eingabe-Größen effizienter ist (MergeSort bringt nunmal einen gewissen Overhead mit, der sich nur bei größeren Intervallen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by patti,
5. Mär 2012
Was man auf jeden Fall noch "optimieren" sollte, ist die Tatsache, dass du x mal SetLength() aufrufst, was sicher alles andere als performant ist. Du kennst doch von Anfang an die Größe des Ergebnis-Arrays, also kannst du auch gleich die Größe *einmalig* richtig setzen.
Außerdem verstehe ich nicht, was die Bedingung im ersten if sein soll, hier müsste es m.M.n. (Ende - Start) > 0 heißen.
lg