Algorithmen

Suchalgorithmen – Linear und Binär

Diese Seite behandelt die grundlegenden Suchalgorithmen Lineare Suche und Binäre Suche mit Erklärungen, Pseudocode und Laufzeitanalyse.

Suchalgorithmen

Lineare Suche

Die lineare Suche (engl. linear search oder sequential search) durchläuft eine Liste Element für Element, bis das gesuchte Element gefunden wurde oder das Ende erreicht ist.

Eigenschaften:

  • Einfach zu implementieren
  • Funktioniert mit unsortierten Listen
  • Laufzeit: O(n)

Pseudocode:

function lineareSuche(liste, ziel):
    für jedes element in liste:
        wenn element == ziel:
            return position
    return -1  // nicht gefunden

Binäre Suche

Die binäre Suche (engl. binary search) ist effizienter, setzt aber eine sortierte Liste voraus. Sie halbiert wiederholt den Suchbereich.

Eigenschaften:

  • Schnell bei großen, sortierten Datenmengen
  • Voraussetzung: sortierte Liste
  • Laufzeit: O(log n)

Pseudocode:

function binaereSuche(liste, ziel):
    links = 0
    rechts = liste.länge - 1
    solange links ≤ rechts:
        mitte = (links + rechts) / 2
        wenn liste[mitte] == ziel:
            return mitte
        sonst wenn liste[mitte] < ziel:
            links = mitte + 1
        sonst:
            rechts = mitte - 1
    return -1  // nicht gefunden

Vergleich

KriteriumLineare SucheBinäre Suche
VoraussetzungKeineSortierte Liste
LaufzeitO(n)O(log n)
ImplementierungEinfachEtwas komplexer

Typische Prüfungsfragen

  • Was ist der Unterschied zwischen linearer und binärer Suche?
  • Welche Voraussetzung muss für die binäre Suche erfüllt sein?
  • Wann ist die lineare Suche sinnvoller als die binäre?