Algorithmen
Ein Algorithmus ist eine endliche Folge von eindeutig definierten Schritten, die der Reihe nach ausgeführt wird, um ein Problem zu lösen oder eine Berechnung durchzuführen. Er nimmt Eingaben entgegen, produziert Ausgaben und terminiert nach einer endlichen Anzahl von Schritten. Er kann in verschiedenen Formen vorliegen, etwa als Flussdiagramm, Pseudocode oder Programm in einer Programmiersprache.
Zu den zentralen Eigenschaften gehören Eindeutigkeit der Anweisungen, Determinismus (bei gleichen Eingaben liefert er dieselben Ergebnisse),
Historisch reichen die Ursprünge der Algorithmen bis in die Antike: Der Euclidsche Algorithmus zur Bestimmung des
Zur Bewertung der Leistungsfähigkeit eines Algorithmus dienen Zeit- und Speicherbedarf. Die Komplexität wird oft mit der
Algorithmen lassen sich klassifizieren als deterministisch oder nichtdeterministisch; rekursiv oder iterativ; außerdem als heuristisch, probabilistisch oder
Wichtige Beispiele sind Sortieralgorithmen (Quicksort, Mergesort), Suchalgorithmen (Binärsuche), Graphalgorithmen (Dijkstra, Bellman-Ford) und Techniken der dynamischen Programmierung.
Nicht alle Probleme sind berechenbar oder lösbar. Der Halteproblem beweist, dass es unmöglich ist, für jedes