Inf1-Skript11 - 133 Teil III Algorithmen und...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
133 Teil III Algorithmen und Datenstrukturen
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
11.1 Analyse von Algorithmen 134 11 Komplexit¨ at von Algorithmen Man kann beweisen, daß es zu jedem Algorithmus unendlich viele verschiedene Al- gorithmen gibt, die das gleiche Problem l¨ osen. Die Suche nach m¨ oglichst guten Al- gorithmen, bzw. der Beweis, daß es keine besseren Algorithmen geben kann, f¨uhrt meist zu sehr komplizierten Problemen, f¨ur deren L¨ osung keine generell einsetzbaren Methoden bekannt sind. 11.1 Analyse von Algorithmen Nach welchen Kriterien wird nun die Qualit¨ at eines Algorithmus beurteilt? Zwin- gend notwendig ist zun¨achst die Korrektheit. Ein Algorithmus, der eine gegebene Problemstellung nicht realisiert, ist v¨ ollig unn¨utz. W¨unschenswert sind dar¨uber hin- aus folgende Eigenschaften: Er sollte einfach zu verstehen sein. Dies erh¨ oht die Chance, daß der Algo- rithmus tats¨achlich korrekt ist; es erleichert die Implementierung und sp¨ atere ¨ Anderungen. Eine einfache Implementierbarkeit ist ebenfalls anzustreben. Vor allem, wenn abzusehen ist, daß ein Programm nur sehr selten laufen wird, sollte man bei mehreren m¨oglichen Algorithmen denjenigen w¨ ahlen, der schnell implementiert werden kann, da hier die zeitbestimmende Komponente das Schreiben und Debuggen ist. Laufzeit und Platzbedarf sollten so gering wie m¨ oglich sein. Diese beiden Punk- te interessieren uns im Rahmen der folgenden Analyse von Algorithmen. Zwischen den einzelnen Kriterien gibt es oft einen Trade-OF, das heißt, man kann eine Eigenschaft nur erreichen, wenn man in Kauf nimmt, daß dabei eine andere weniger gut erf¨ullt wird. So k¨onnte z.B. ein sehr e±zienter Algorithmus nur schwer verst¨ andlich sein. Bei der Analyse ergibt sich zuerst die ²rage, wie denn Laufzeit oder Speicherplatz ei- nes Algorithmus gemessen werden k¨ onnen. Betrachten wir zun¨ achst die Laufzeit. Die Rechenzeit eines Programms, also eines implementierten Algorithmus, k¨ onnte man etwa in Millisekunden messen. Diese Gr¨ oße ist aber abh¨ angig von vielen Parame- tern wie dem verwendeten Rechner, Compiler, Betriebssystem, Programmiertricks usw. Außerdem ist sie nur f¨ur Programme meßbar, nicht aber f¨ur Algorithmen. Um das Ziel zu erreichen, tats¨achlich die Laufzeiteigenschaften eines Algorithmus zu beschreiben, geht man wie folgt vor:
Background image of page 2
11.1 Analyse von Algorithmen 135 F¨ur eine gegebene Eingabe werden im Prinzip die durchgef¨uhrten Elementar- operationen gez¨ahlt. Das Verhalten des Algorithmus kann dann durch eine Funktion angegeben wer- den, die die Anzahl der durchgef¨uhrten Elementaroperationen in Abh¨ angigkeit von der Gr¨oße“ der Eingabe darstellt. Aus praktischer Sicht sind Elementaroperationen Primitive, die ¨ublicherweise von
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 01/18/2010 for the course FB07 BP-04-B taught by Professor Kutrib during the Spring '09 term at Uni Giessen.

Page1 / 11

Inf1-Skript11 - 133 Teil III Algorithmen und...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online