|
1.3.1 Laufzeitverhalten und Speicherplatzbedarf |
Unter Komplexität eines Programmes versteht man also den Ressourcenverbrauch zur Laufzeit eines Programmes. Nun sind bei Fertigstellung des Programmes einige Dinge noch unbekannt. So weiß man im Allgemeinen nicht, wie leistungsfähig das System sein wird, auf dem das Programm letztendlich läuft. Aber auch die tatsächlichen Eingabewerte kennt man nicht.
Der Rechner wird nicht betrachtet. Bei den Eingabewerten überlegt man sich, wie viel Ressourcen das Programm im besten oder schlechtesten Fall oder im Durchschnitt verbraucht.
Die Komplexitätsanalyse beschränkt sich meist auf den worst case.
Schätzen Sie die Laufzeit in Abhängigkeit von der Länge des Eingabewortes. Die hypothetischen Programme besitzen dabei Komplexitäten von n, n5 und 2n. Eine Komplexität von n bedeutet, dass bei einer Eingabe der Größe 10 genau 10 Operationen ausgeführt werden. Bei einer Komplexität von n2 wären es bereits 102 = 100 Operationen.
Desweiteren nehmen wir an, der Prozessor, der diese Programme bearbeitet, kann 1.000.000 Operationen in der Sekunde ausführen. Wie lange dauert die Ausführung für eine Wortlänge von 10, 20, 40 oder 50?
Hätten Sie es so vermutet?
Stellen Sie sich ruhig einmal vor, ein sprachverarbeitendes Programm der Komplexität n5 müsste einen 50 Worte umfassenden Text verarbeiten.
Eingabe von Compilern, die Programmcode in Maschinensprache übersetzen, sind oft mehrere 1000 Codezeilen lange Programme.
Auf Seite 3 vermittelt Ihnen ein Diagramm einen Überblick über typisches Laufzeitverhalten .
Einführung 1 2 3 4 5 Übersicht |
|