15.09.2014 Aufrufe

Effizienz von Algorithmen - Technische Fakultät - Universität Bielefeld

Effizienz von Algorithmen - Technische Fakultät - Universität Bielefeld

Effizienz von Algorithmen - Technische Fakultät - Universität Bielefeld

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Effizienz</strong> <strong>von</strong> <strong>Algorithmen</strong> Asymptotische <strong>Effizienz</strong>-Analyse Exkurs Beispiel zur Effizienanalyse Ausn<br />

Nun wird ein ausgeglichener Baum aufgebaut, an dessen Blättern die<br />

Läufe stehen. Er hat also den Typ Tree[a] statt Tree a.<br />

Trotzdem können wir die schon bekannte Θ(n) build-Funktion<br />

einsetzen – für diese ist n nun die Anzahl der Läufe!<br />

101 / 130<br />

<strong>Effizienz</strong> <strong>von</strong> <strong>Algorithmen</strong> Asymptotische <strong>Effizienz</strong>-Analyse Exkurs Beispiel zur Effizienanalyse Ausn<br />

Das Programm smoothSort:<br />

smsort :: Ord a => [a] -> [a]<br />

smsort = mergeRuns . build’ . runs<br />

mergeRuns :: Ord a => Tree [a] -> [a]<br />

mergeRuns (Leaf x) = x<br />

mergeRuns (Br l r) = merge (mergeRuns l) (mergeRuns r)<br />

102 / 130

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!