|
|
Zeile 1: |
Zeile 1: |
| Ein Algorithmus (algorithm) ist eine vollständige, präzise und in einer Notation oder Sprache mit exakter Definition abgefasste, endliche Beschreibung eines schrittweisen Problemlösungsverfahrens zur Ermittlung gesuchter Datenobjekte (ihrer Werte) aus gegebenen Werten von Datenobjekten, in dem jeder Schritt aus einer Anzahl ausführbarer, eindeutiger Aktionen und einer Angabe über den nächsten Schritt besteht.
| |
|
| |
|
| Ein Algorithmus weist folgende Eigenschaften auf:
| |
|
| |
| '''Korrektheit'''
| |
| * Der Algorithmus erfüllt die seiner Entwicklung zugrunde liegende Spezifikation (er liefert ausschließlich das Ergebnis korrekt, welches in der Aufgabenstellung spezifiziert wurde)
| |
|
| |
| '''Vollständigkeit'''
| |
| * Kein Schritt und keine Aktion dürfen vergessen werden
| |
| * Berücksichtigung der relevanten Vor- und Rahmenbedingungen
| |
|
| |
| '''Eindeutigkeit und Ausführbarkeit der Aktionen'''
| |
| * Jede Aktion muss eindeutig interpretierbar sein
| |
| * Es darf kein Interpretationsspielraum geben
| |
| * Die Abfolge der Verarbeitungsschritte muss eindeutig definiert sein
| |
| * Jede Aktion muss ausführbar sein, also so geartet sein, dass der (Prozessor) in der Lage ist, auszuführen und weiß, wie er auszuführen hat
| |
|
| |
| '''Statische Endlichkeit'''
| |
| * Der Umfang, den die Beschreibung einnimmt, muss endlich sein
| |
|
| |
| '''Dynamische Endlichkeit/Unendlichkeit'''
| |
| * Algorithmus, der gewünschtes Ergebnis nach endlich vielen Schritten liefert (endlich, terminierend)
| |
| * Algorithmus, bei dem dies nicht der Fall ist (unendlich, nicht terminierend), z.B. Ampelsteuerung
| |
|
| |
| '''Effizienz'''
| |
| * Eigenschaft, seinen Zweck unter bestmöglicher Ausnutzung aller Ressourcen zu erfüllen
| |