Lineare Suche in Python

Die lineare Suche ist der einfachste Suchalgorithmus. Sie ist auch unter der Bezeichnung sequentielle Suche bekannt. Hierbei wird über alle Elemente — vom Anfang bis zum Ende — einer Liste iteriert, bis das gesuchte Element gefunden wird. Als Ergebnis erhält man im nachfolgenden Beispiel den Index des gefundenen Werts. Wie man sich denken kann, hat diese Suche gemäß der Big-O-Notation einen O(n)-Wert.

my_list = [4, 12, 17, 33, 11, 53]

def linear_search(l, n):
    for i in range(0, len(l)):
        if l[i] == n:
            print("Element " + str(element) + " found at index " + str(i))

linear_search(my_list, 17)

Die Suche nach dem Wert “17” liefert die Ausgabe: “Element 17 found at index 2”. Sollte der gesuchte Wert jedoch nicht vorhanden sein, erfolgt keine Rückmeldung.

Noch einfacher geht es mit dem in-Operator, der als lineare Suche implementiert ist.

my_list = [4, 12, 17, 23, 1, 66, 103]


def linear_search(element):
    if element in my_list:
        print("The element is in the list.")
    else:
        print("The element is not in the list.")


linear_search(17)

Allerdings erfährt man in diesem Beispiel lediglich, ob das Element in der Liste vorhanden ist, der Index wird nicht ermittelt.