# Lineare Suche visualisieren: O(n) auf unsortierten Daten

> Lineare Suche interaktiv: vergleicht jeden Index der Reihe nach mit dem Zielwert. Funktioniert auf unsortierten Arrays und läuft im Worst Case in O(n).

Adresse: https://marckimmel.de/informatik/suchalgorithmen/lineare-suche
English version: https://marckimmel.de/en/informatik/suchalgorithmen/lineare-suche.md

Prüft jedes Element der Reihe nach, bis der gesuchte Wert auftaucht.

Die lineare Suche ist der einfachste Suchalgorithmus überhaupt. Sie läuft das Array Element für Element von vorne nach hinten ab und vergleicht jeden Wert mit dem Suchschlüssel. Sobald die Werte übereinstimmen, gibt sie den Index zurück. Wird das Array komplett durchlaufen ohne Treffer, liefert sie -1. Weil im schlimmsten Fall jedes Element angefasst werden muss, ist die Laufzeit linear (O(n)) im Average und Worst Case; im Best Case sitzt der Treffer auf Index 0, was eine konstante Zeit ergibt (O(1)). Es wird kein zusätzlicher Speicher gebraucht (O(1)). Der große Vorteil: die lineare Suche stellt keine Anforderungen an das Array, es muss insbesondere nicht sortiert sein, und sie funktioniert auch auf Streams oder verketteten Listen, die nur sequentiellen Zugriff bieten.

Funktioniert auf unsortierten Daten und ist die einzige Wahl, wenn die Daten in einer einfachen Liste oder einem Stream liegen, der nur sequentiellen Zugriff erlaubt. Bei größeren, sortierten Datenmengen mit Random-Access ist die binäre Suche um Größenordnungen schneller.

## Weiter

- [Suchalgorithmen](https://marckimmel.de/informatik/suchalgorithmen.md)
