|
Lineare Suche ist ein Algorithmus, der auch unter dem
Namen sequenzielle Suche bekannt ist. Er ist der einfachste Suchalgorithmus überhaupt.
Die Aufgabe besteht darin, ein Element in einer Liste oder einem Array mit n Elementen
zu finden. Man geht dazu die Liste Element für Element durch, bis man es gefunden hat. Der Suchaufwand wächst linear mit der
Anzahl der Elemente in der Liste.
Wenn die Daten zufallsverteilt sind, dann werden im Schnitt n/2
Vergleichsoperationen benötigt. Im besten Fall ist gleich das erste Element der Liste dasjenige, das man sucht, im schlechtesten
ist es das letzte.
Beispielimplementation in Ruby:
def Lineare_suche(datenArray,wert)
for i in datenArray
return true if i == wert;
end
return false
end
Wenn die Anzahl Element in einer Liste klein ist, dann ist es oft auch das effizienteste Verfahren.
Die effizientere Binäre Suche kann nur bei geordnete Listen benutzt
werden.
Für ungeordnete Listen existiert mit Lazy Select noch ein randomisierter Algorithmus der mit relativ hoher Wahrscheinlichkeit das x-te Element einer Liste
bzgl. einer Ordnung schneller als in linearer Zeit finden kann.
Siehe auch: Liste von Algorithmen
|