Datastructuren en algoritmen
Wat is een voorwaarde om binair zoeken te kunnen gebruiken, dat de gezochte waarde met het middelste element vergelijkt en het zoekbereik telkens halveert?
- AHet aantal gegevens moet een macht van twee zijn
- BDe gegevens moeten op sleutel gesorteerd zijn
- CDe gegevens mogen geen dubbele waarden bevatten
Antwoord en toelichting tonen
Antwoord: B. De gegevens moeten op sleutel gesorteerd zijn
Binair zoeken bepaalt uit de vergelijking met het middelste element of de gezochte waarde in de eerste of de tweede helft ligt, en halveert zo het bereik. Die conclusie klopt alleen omdat de gegevens gesorteerd zijn, dus op een ongesorteerde array werkt binair zoeken niet. Het aantal gegevens hoeft geen macht van twee te zijn; wie het midden kiest als (ondergrens + bovengrens) ÷ 2, naar beneden afgerond, kan elke grootte aan. Dubbele waarden zijn ook geen probleem: een van de gelijke waarden wordt gevonden (de eerste positie vinden vraagt een kleine extra stap).