LU01.L06 - Trace Table für lineare Suche
Algorithmus:
def linear_search(liste, ziel): for index, wert in enumerate(liste): if wert == ziel: return index return -1 def main(): zahlen = [3, 8, 2, 7, 5] ziel = 7 resultat = linear_search(zahlen, ziel) print(f'Index des gesuchten Elements: {resultat}')
Trace Table:
Schritt | index | wert | Vergleich (wert == ziel) | Ergebnis (index oder -1) |
---|---|---|---|---|
1 | 0 | 3 | Nein | - |
2 | 1 | 8 | Nein | - |
3 | 2 | 2 | Nein | - |
4 | 3 | 7 | Ja | 3 |
Erklärung des Trace Tables:
- Schritt 1: Der Algorithmus beginnt mit dem ersten Element in der Liste. Der
index
ist 0 und derwert
ist 3. Da 3 nicht gleich demziel
(7) ist, geht der Algorithmus zum nächsten Element über. - Schritt 2: Der
index
wird auf 1 erhöht und derwert
ist nun 8. Da 8 ebenfalls nicht gleich 7 ist, wird weiter zum nächsten Element iteriert. - Schritt 3: Jetzt ist der
index
2 und derwert
ist 2. Der Vergleich ergibt wiederNein
, sodass der Algorithmus erneut weitergeht. - Schritt 4: Schließlich erreicht der Algorithmus den
index
3, wo derwert
7 ist. Der Vergleich ergibtJa
, sodass der Algorithmus denindex
3 als Ergebnis zurückgibt.