Definition und Eigenschaften
Ein Algorithmus ist im Allgemeinen ein Ablauf von Schritten, die dazu dienen ein gewisses Problem zu lösen. Er gibt die Reihenfolge, um ein bestimmtes Ziel zu erreichen. Unser Alltag ist von Algorithmen bestimmt, ohne, dass wir uns dessen überhaupt bewusst sind. Sei es das Backen eines Kuchens bzw. Kochen nach Rezept, wie wir unsere Schuhe binden oder wie wir unsere Zähne putzen sollten.
Dabei sind folgende Eigenschaften definiert:
- Der Algorithmus ist mit endlichen Schritten beschreibbar (Finitheit)
- Die Schritte müssen eindeutig sein und kein Spielraum für Interpretationen lassen (Eindeutigkeit)
- Die Schritte müssen umsetzbar sein (Ausführbarkeit)
- Die Reihenfolge ist eindeutig definiert (Determinismus)
- Bei gleicher Eingabe muss stets der gleiche Output erfolgen (Determiniertheit)
Zusätzlich gibt es weitere Eigenschaften, die oftmals eine Rolle spielen, sobald ein Algorithmus in Programmcode umgesetzt wurde:
- Der Algorithmus soll zu einer geeigneten Zeit fertig sein (Zeitkomplexität)
- Der Algorithmus darf nur entsprechend viel Speicherplatz belegen (Platzkomplexität)
Algorithmen in der Informatik
Bei der Festlegung der einzelnen Schritte kommt oftmals der sogenannte Pseudocode zum Einsatz. Hierbei ist es wichtig, dass man einen Algorithmus generisch definiert ist, unabhängig davon in welcher Programmiersprache er später umgesetzt wird.
Vorteile
- Ein Algorithmus ist in einzelne Schritte aufgeteilt, sodass ein komplexes Problem verständlich wird
Nachteile
- Die Entwicklung von Algorithmen kann, je nach Komplexität, sehr zeitintensiv werden
Start the discussion