Ga naar hoofdinhoud

Stellingen — toets je begrip

Leerdoel: je toetst of je het idee van lineair zoeken snapt, voordat je gaat programmeren. Beantwoord elke stelling eerst zelf, klap dan open.

Stelling 1

"Lineair zoeken werkt alleen op gesorteerde lijsten."

Antwoord

Onjuist. Lineair zoeken bekijkt elk element apart — de volgorde maakt niet uit. Dat is juist het voordeel: het werkt altijd, ook op rommelige lijsten.

Stelling 2

"Als de waarde meerdere keren in de lijst staat, geeft lineair zoeken alle posities terug."

Antwoord

Onjuist. Standaard stopt het algoritme bij de eerste match — die index geef je terug. Wil je alle posities? Dan moet je het algoritme aanpassen (komt later — bij Maken).

Stelling 3

"In het ergste geval moet je elk element bekijken."

Antwoord

Juist. Het ergste geval is wanneer het doel achteraan staat — of helemaal niet in de lijst voorkomt. Dan moet je elke positie bezoeken voor je zekerheid hebt.

We zeggen: het algoritme is O(n) — het werk groeit lineair met de lengte van de lijst. Vandaar de naam lineair zoeken.

Stelling 4

"Bij een lege lijst crasht het algoritme."

Antwoord

Onjuist. Een lege lijst betekent: niets om te bekijken → meteen "niet gevonden" → -1. Geen crash.

Stelling 5

"De gemiddelde positie waarop je een willekeurig getal vindt, ligt in het midden van de lijst."

Antwoord

Juist. Als het doel willekeurig ergens in de lijst staat, is het gemiddeld ongeveer halverwege. Dus voor n elementen kijk je gemiddeld naar n/2 elementen voor je het vindt. Nog steeds O(n) — een factor 2 verandert het grote plaatje niet.

Stelling 6

"Lineair zoeken is sneller dan binair zoeken op een lijst van 10 elementen."

Antwoord

Onjuist in theorie, maar in de praktijk vaak waar. Op 10 elementen is het verschil tussen n en log₂(n) zo klein, en de constante factor van binair zoeken (meer logica per stap) zo groot, dat lineair zoeken soms wint. Bij grote lijsten verliest lineair altijd.

Door naar stap 3: bouwen we het op →