UniProMax
Anmelden
UniProMax/Algorithmen/such-vergleich
Algorithmen

Such-Vergleich

Lineare und binäre Suche live nebeneinander. Bei welchem n lohnt sich der Aufwand des Sortierens? Wann ist Linear schneller? Klausur-Übersicht.

3LerneinheitenVoraussetzungen:Lineare SucheBinäre Suche
Sprache wählen
Sprache
Lerneinheit 1 von 3

Linear vs Binär im Vergleich

Du kennst beide Verfahren. Hier siehst du sie nebeneinander, sowohl in der Theorie als auch (im nächsten Tab) live in der Animation.

Übersicht

AlgorithmusWorst CaseAverage CaseBest CaseVoraussetzung
Lineare SucheO(n)O(n)O(1)Keine
Binäre SucheO(log n)O(log n)O(1)Sortiert

Der Unterschied in Zahlen

nLinearBinärFaktor
100100714×
1.0001.00010100×
1.000.0001.000.0002050.000×
1 Milliarde1 Mrd.3033 Mio×

Bei großen Daten ist Binär ungeschlagen.

Wann welcher?

  • Lineare Suche:
    • Bei kleinen Arrays (n < 100)
    • Bei unsortierten Daten ohne Sortier-Möglichkeit
    • Bei einmaligen Suchen, wo der Sortier-Aufwand sich nicht lohnt
  • Binäre Suche:
    • Bei großen sortierten Arrays
    • Bei vielen wiederholten Suchen auf demselben Array
    • Bei Datenbank-Indizes (intern via B-Bäume)

Was Bibliotheken machen

  • Java: Arrays.binarySearch() und Collections.binarySearch()
  • Python: bisect Modul (bisect_left, bisect_right)
  • C++: std::binary_search und std::lower_bound

Aber im Kopf haben muss man beide, sie tauchen in jeder Algorithmik-Klausur auf.

Weiter im Tab "Interaktiv" siehst du beide Algorithmen live nebeneinander.