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
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Effizienz</strong> <strong>von</strong> <strong>Algorithmen</strong> Asymptotische <strong>Effizienz</strong>-Analyse Exkurs Beispiel zur Effizienanalyse Ausn<br />
Tree and back again. . .<br />
Für die Überführung <strong>von</strong> Listen in Bäume brauchen wir eine Funktion<br />
build :: [a] -> Tree a<br />
Und für die Überführung <strong>von</strong> Bäumen in Listen etwa<br />
leaves :: Tree a -> [a]<br />
53 / 130<br />
<strong>Effizienz</strong> <strong>von</strong> <strong>Algorithmen</strong> Asymptotische <strong>Effizienz</strong>-Analyse Exkurs Beispiel zur Effizienanalyse Ausn<br />
Naiver Ansatz für leaves, ganz entlang einer Strukturellen Rekursion<br />
auf Bäumen:<br />
leaves :: Tree a -> [a]<br />
leaves Nil = []<br />
leaves (Leaf a) = [a]<br />
leaves (Br l r) = leaves l ++ leaves r<br />
Betrachten wir einmal die Zahl der Rechenschritte unserer<br />
naiven Implementierung.<br />
wc-time leaves (n) = n 2<br />
Diese Funktion leaves ist also sehr teuer bezüglich der<br />
Rechenzeit.<br />
54 / 130