Ein Algorithmus ist eine endliche, wohldefinierte Abfolge von Schritten, die Eingaben in die gewünschte Ausgabe umwandelt. Wir beurteilen ihn auf zwei Achsen: Korrektheit (produziert er immer die richtige Antwort?) und Effizienz (wie viel Zeit und Speicher verbraucht er?).
Die Idee
Ein gültiger Algorithmus muss sein (jeder Schritt ist klar), sein (er terminiert) und das Ergebnis für jede gültige Eingabe produzieren.
