Standard-Algorithmen – Sortieren, Suchen, QuickSort, MergeSort & BubbleSort
Dieser Beitrag ist eine Begriffserklärung zu Standard-Algorithmen – inklusive Prüfungsfragen und Tags.
In a Nutshell
Standard-Algorithmen sind grundlegende, häufig eingesetzte Verfahren zur Lösung typischer Probleme wie Sortierung, Suche, Traversierung oder Berechnung. Sie bilden das Fundament algorithmischen Denkens in der Softwareentwicklung.
Kompakte Fachbeschreibung
Standard-Algorithmen sind etablierte, optimierte Verfahren für wiederkehrende Aufgaben wie Sortieren (z.B. QuickSort, MergeSort), Suchen (z.B. binäre Suche), Durchlaufen von Datenstrukturen (z.B. Tiefen- und Breitensuche) oder mathematische Operationen (z.B. Euklidischer Algorithmus). Ihre Komplexität wird meist mit Big-O-Notation beschrieben, was die Effizienz hinsichtlich Laufzeit und Speicherbedarf angibt. In nahezu allen Programmiersprachen sind sie als Bibliotheksfunktionen verfügbar, sollten aber auch manuell verstanden und im Kern implementiert werden können – insbesondere in der IHK-Prüfung.
Prüfungsrelevante Stichpunkte
- Standard-Algorithmen lösen häufige Grundprobleme effizient
- Typische Kategorien: Sortieren, Suchen, Traversieren
- Werden anhand der Komplexität (O-Notation) verglichen
- Kenntnisse sind Teil der schriftlichen IHK-Prüfung
- Praxiseinsatz z.B. bei Tabellen, Reports, Datenbankabfragen
- Auswahl des richtigen Algorithmus verbessert Performance signifikant
- Müssen dokumentiert (z.B. Pseudocode, Ablaufdiagramm) und getestet werden
Kernkomponenten
- Sortieralgorithmen (z.B. BubbleSort, MergeSort)
- Suchalgorithmen (z.B. binäre Suche, lineare Suche)
- Traversierungsalgorithmen (z.B. DFS, BFS bei Graphen/Bäumen)
- Rekursive Algorithmen (z.B. QuickSort, Fibonacci)
- Iterative Algorithmen (z.B. Zählschleifen)
- Komplexitätsanalyse (O-Notation)
- Speicherverbrauchsanalyse
- Datenstrukturabhängigkeit (Array, Liste, Baum)
- Sicherheit durch Vermeidung unendlicher Schleifen
- Verifikation durch Testfälle und Dry-Runs
Praxisbeispiel
// Beispiel: Lineare Suche in einem Array
funktion suche(array, ziel)
für i von 0 bis array.länge - 1
wenn array[i] == ziel
gib i zurück
gib -1 zurück
Erklärung: Diese Funktion durchsucht das Array sequenziell nach dem Zielwert und gibt den Index zurück oder -1, falls nicht gefunden.
Vorteile und Nachteile
Vorteile
- Effizient bei bekanntem Einsatzzweck
- Gut dokumentiert und erprobt
- In Standardbibliotheken meist enthalten
Nachteile
- Müssen auf den Einzelfall angepasst werden
- Falscher Einsatz kann ineffizient oder falsch sein
- Komplexere Algorithmen schwer verständlich für Einsteiger
Typische Prüfungsfragen (mit Kurzantwort)
- Zwei Standard-Sortieralgorithmen und Komplexität? QuickSort (O(n log n)), BubbleSort (O(n²))
- O(n) in der Komplexitätsanalyse bedeutet? Laufzeit wächst linear mit der Eingabegröße.
- Binäre Suche eignet sich wann? Nur bei vorher sortierten Arrays oder Listen.
- Tiefensuche in einem Graphen funktioniert? Durch rekursives oder stapelgesteuertes Traversieren bis zu den Endknoten.
- Warum BubbleSort ineffizient? Wegen der quadratischen Laufzeit bei jeder Eingabegröße.
- Dry-Run eines Algorithmus? Manuelle Schritt-für-Schritt-Ausführung zur Überprüfung.
- Korrektheit eines Algorithmus sichern? Durch Testfälle, Grenzfälle und Laufzeitvergleiche.
- Rekursive vs. iterative Algorithmen? Rekursive nutzen Funktionsaufrufe, iterative verwenden Schleifen.