Algorithmen Grundlagen – Formulieren, Anwenden, Pseudocode & Kontrollstrukturen
Dieser Beitrag ist eine Begriffserklärung zu Algorithmen – inklusive Prüfungsfragen und Tags.
In a Nutshell
Ein Algorithmus ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems in endlich vielen Schritten.
Kompakte Fachbeschreibung
Ein Algorithmus beschreibt eine systematische Folge von Anweisungen zur Lösung eines Problems oder zur Durchführung einer Aufgabe. Er muss eindeutig, endlich, ausführbar und deterministisch sein. In der Anwendungsentwicklung sind Algorithmen essenziell für die Problemlösung und Datenverarbeitung. Die Formulierung kann in natürlicher Sprache, Pseudocode, Struktogrammen oder Flussdiagrammen erfolgen. Beim Anwenden eines Algorithmus ist die Effizienz in Bezug auf Zeit und Speicher entscheidend.
Prüfungsrelevante Stichpunkte
- Ein Algorithmus besteht aus endlich vielen wohldefinierten Anweisungen
- Formulierungen in Pseudocode oder als Struktogramm sind prüfungsüblich
- Lineare, verzweigte und wiederholende Strukturen sind grundlegende Kontrollstrukturen
- Laufzeitkomplexität ist wichtig zur Bewertung von Effizienz
- Anwendung typischer Algorithmen: Sortieren, Suchen, Berechnen
Kernkomponenten
- Eindeutigkeit – jede Anweisung ist klar definiert
- Endlichkeit – der Algorithmus muss nach endlich vielen Schritten enden
- Ausführbarkeit – jeder Schritt ist mit vorhandenen Mitteln ausführbar
- Determinismus – bei gleichem Input immer derselbe Output
- Struktur – Nutzung von Kontrollstrukturen (Sequenz, Auswahl, Wiederholung)
Praxisbeispiel
// Beispiel: Lineare Suche (Pseudocode)
FÜR i VON 0 BIS n-1
WENN array[i] == suchwert
GIB i ZURÜCK
GIB -1 ZURÜCK
Erklärung: Der Algorithmus durchsucht ein Array sequenziell und gibt den Index des ersten gefundenen Suchwerts zurück, andernfalls -1.
Typische Prüfungsfragen (mit Kurzantwort)
- Was ist ein Algorithmus? Eindeutige, endliche Abfolge von Anweisungen zur Lösung eines Problems.
- Wesentliche Eigenschaften eines Algorithmus? Eindeutigkeit, Endlichkeit, Ausführbarkeit, Determinismus, Struktur.
- Pseudocode? Informelle, sprachunabhängige Beschreibung eines Algorithmus, leicht in Code überführbar.
- Drei Kontrollstrukturen? Sequenz, Auswahl (Bedingung), Wiederholung (Schleife).
- Lineare Suche funktioniert? Durchläuft jedes Element eines Arrays der Reihe nach und prüft auf Gleichheit mit dem Suchwert.
- Rekursive vs. iterative Lösung? Rekursive Lösungen rufen sich selbst auf, iterative verwenden Schleifen.
- Effizienz eines Algorithmus bewerten? Durch Analyse der Laufzeit- und Speicherkomplexität (z.B. O-Notation).
Wichtigste Quellen
- https://www.informatik-lexikon.de/algorithmus/
- https://www.gut-erklaert.de/algorithmen-datenstrukturen.html
- https://www.programmierenlernenhq.de/algorithmen/