Ga naar hoofdinhoud

Het complete algoritme

Leerdoel: je herkent alle bouwstenen die je hebt geleerd en ziet ze samen werken. Daarna onderzoek je het algoritme als geheel.

Alles samen

Hier is het hele algoritme, in 5 regels:

def zoek(lijst, doel):
for i, waarde in enumerate(lijst):
if waarde == doel:
return i
return -1

Zie je de bouwstenen terug?

  • Regel 2 → bouwsteen 1: door de lijst lopen (met enumerate voor de index)
  • Regel 3 → bouwsteen 2: vergelijken met het doel
  • Regel 4 → bouwsteen 3: index teruggeven bij match
  • Regel 5 → bouwsteen 4: -1 teruggeven als niets is gevonden

Run

Python
Code-omgeving wordt voorbereid…

Onderzoek

Speel met de code. Probeer in elk geval:

  1. Zoek een waarde die meerdere keren voorkomt. Welke index krijg je?
  2. Vervang de lijst door strings: ["appel", "peer", "kers"], doel "peer". Werkt het?
  3. Wat gebeurt er als de lijst leeg is?
Python
Code-omgeving wordt voorbereid…
Wat zie je?
0
1
-1
  • Bij meerdere voorkomende waarden krijg je de eerste (index 0).
  • Strings werken precies hetzelfde — == vergelijkt ook strings.
  • Lege lijst → de for-lus draait 0 keer → meteen return -1.

Lineair zoeken is type-onafhankelijk: het werkt op alles waar == betekenis heeft.

Een korte reflectie

We hebben in 4 kleine stappen iets gebouwd dat:

  • ✅ Werkt op elke lijst, gesorteerd of niet.
  • ✅ Werkt op getallen, strings, en alles met ==.
  • ✅ Heldere "niet gevonden"-conventie (-1).
  • ⚠️ In het ergste geval alle elementen bekijkt — O(n).

Tijd om er iets anders van te maken.

Door naar stap 8: aanpassen →