Datastructuren en algoritmen
Lineair zoeken vergelijkt de elementen van een array met 100 verschillende waarden één voor één vanaf het begin om een gezochte waarde te vinden. De gezochte waarde staat altijd in de array en heeft op elke positie dezelfde kans. Wat is het gemiddelde aantal vergelijkingen?
- AOngeveer 7
- B50,5
- C100
Antwoord en toelichting tonen
Antwoord: B. 50,5
Staat de gezochte waarde op positie k, dan zijn er k vergelijkingen nodig. Het gemiddelde is dus (1 + 2 + … + 100) / 100 = 50,5, in het algemeen (n + 1)/2. In het beste geval (waarde vooraan) is er 1 vergelijking nodig, in het slechtste geval (waarde achteraan) 100. Zowel het gemiddelde als het slechtste geval is evenredig met n, dus de tijdcomplexiteit is O(n). Ongeveer 7 komt overeen met log₂ 100 ≈ 6,6, het aantal stappen van binair zoeken, dat alleen werkt als de gegevens gesorteerd zijn.