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 />
Diese Regel für if_then_else gilt in allen Programmiersprachen.<br />
Ohne sie könnte man keine terminierende Rekursion programmieren:<br />
f (x) = if_then_else(x ≤ 0, 42, 2 + f (x − 1))<br />
Innermost-Strategie führt zu endloser Berechnung des else-Falles.<br />
Auch wenn die Bedingung gerne in “mix-fix” Schreibweise<br />
daherkommt:<br />
f (x) = if x ≤ 0 then 42 else 2 + f (x − 1)<br />
sollte man nicht verkennen, dass es sich dabei um eine dreistellige<br />
Funktion handelt, die NICHT innermost berechnent wird.<br />
117 / 130<br />
<strong>Effizienz</strong> <strong>von</strong> <strong>Algorithmen</strong> Asymptotische <strong>Effizienz</strong>-Analyse Exkurs Beispiel zur Effizienanalyse Ausn<br />
Eigenschaften der Strategien<br />
1 Ob eine Rechnung terminiert, hängt i.A. <strong>von</strong> der Strategie ab.<br />
2 Wenn zwei verschiedene Strategien, angewandt auf die gleiche<br />
Formel, terminieren, liefern sie das gleiche Ergebnis.<br />
3 Im Fall (2) kann sich der Rechenaufwand stark unterscheiden.<br />
4 Wenn für eine Formel F irgendeine Strategie terminiert, dann<br />
terminiert für F auch “leftmost outermost”.<br />
5 “leftmost innermost” terminiert seltener als “leftmost outermost”.<br />
118 / 130