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
  1. Regel 2:

    Bouwsteen 1 — door de lijst lopen. enumerate geeft je elke ronde de index én de waarde tegelijk.

  2. Regel 3:

    Bouwsteen 2 — vergelijken met het doel.

  3. Regel 4:

    Bouwsteen 3 — de index teruggeven bij een match. return stopt meteen de functie én de lus: verder zoeken is niet meer nodig.

  4. Regel 5:

    Bouwsteen 4 — deze regel wordt alleen bereikt als de lus afloopt zonder match. Let op de inspringing: hij staat buiten de for, op functie-niveau.

Run

Python
Code-omgeving wordt voorbereid…

Interactief model

Lineair zoeken

Loop van links naar rechts tot je het doel vindt.

Bron referentieStap 0/5Vergelijkingen 0Resultaat -
03
11
24
31
45
59
62
76

Start

We zoeken 5 van links naar rechts.

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
  • Staat een waarde meerdere keren in de lijst, dan krijg je de eerste.
  • Strings werken precies hetzelfde — == vergelijkt ook strings.
  • Bij een lege lijst draait de for-lus nul keer en volgt meteen return -1.

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

Door naar aanpassen.