Eigenschaften
Algorithmen können viele verschiedene Eigenschaften aufweisen. Zum Beispiel erklärt die Lehrerin in der folgenden Szene 2 - Teil 1: Eigenschaften und Darstellung von Algorithmen zu Anfang die Wichtigkeit der Exaktheit der Anweisungen:
Hier nun eine formale Auflistung derjenigen Eigenschaften eines Algorithmus, die notwendig sind, um den reibungsfreien Ablauf bei der Anwendung zu garantieren:
Finitheit
Statische Finitheit: Der Algorithmus findet nach einer endlichen Anzahl an Schritten/Operationen ein Ergebnis. Selbst wenn das Ergebnis lautet, dass keine Lösung zum betreffenden Problem gefunden wurde. Eine naive Vermutung wäre es, dass das immer so ist; insbesondere weil jeder Algorithmus nur aus endlich vielen Zeilen Code besteht. Leider ist dies nicht automatisch gegeben, denn es kann eine endlich lange Beschreibung in einer Endlosschleife laufen. Wenn z.B. die größte natürliche Zahl dadurch gefunden werden soll, wenn sukzessive eine Zahl (n) durch ihren Nachfolger (n+1) ersetzt wird.
Dynamische Finitheit: Der Algorithmus nimmt während seiner Ausführung endlich viel Speicherplatz zur Speicherung von Zwischenergebnissen in Anspruch.
Terminierung
Diese Eigenschaft liegt vor, wenn der Algorithmus zu einem Ende kommt und uns Ausgabedaten (Output) liefert, nachdem die Eingabedaten (Input) eingegeben wurden.
Determiniertheit
Der Algorithmus liefert mit gleichbleibenden Eingabe- und Startwerten immer gleiche Endwerte.
Determinismus
Eine weitere Eigenschaft ist der Determinismus. Dies bedeutet, dass nach dem Ausführen eines Schrittes der nächste bekannt ist und auch nur eine Möglichkeit der Fortsetzung besteht. Gilt dies, ist ein Algorithmus deterministisch.
Allgemeinheit
Diese letzte Eigenschaft bedeutet, dass ein Algorithmus verschiedene Probleme lösen kann, die vergleichbar sind. Im einfachsten Fall heißt das z. B., dass ein Algorithmus zur Bestimmung der Nullstellen einer quadratischen Funktion dies für jede quadratische Funktion kann und nicht nur für Funktionen mit bestimmten Koeffizienten. Ein weiteres Beispiel wäre, dass die alphabetische Sortierung einer Liste von Namen nicht nur für Namen mit weniger als sechs Buchstaben funktioniert.
Mehr Informationen zu Algorithmen finden Sie unter (Dieker & Güting, 2018).