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
indexist 0 und derwertist 3. Da 3 nicht gleich demziel(7) ist, geht der Algorithmus zum nächsten Element über. - Schritt 2: Der
indexwird auf 1 erhöht und derwertist nun 8. Da 8 ebenfalls nicht gleich 7 ist, wird weiter zum nächsten Element iteriert. - Schritt 3: Jetzt ist der
index2 und derwertist 2. Der Vergleich ergibt wiederNein, sodass der Algorithmus erneut weitergeht. - Schritt 4: Schließlich erreicht der Algorithmus den
index3, wo derwert7 ist. Der Vergleich ergibtJa, sodass der Algorithmus denindex3 als Ergebnis zurückgibt.
