module · recherche dichotomique · 8 min
À chaque étape, l'intervalle de recherche est divisé par deux.
Tu sais que le tableau est trié. À toi de jouer : à chaque tour, clique sur l'élément au milieu de la plage encore en course. Combien de comparaisons faut-il, par rapport à un balayage linéaire ?
défi · tenir le budget
palier 1 / 4
Trouve la cible dans le tableau sans dépasser le budget de comparaisons. Chaque clic compte, même un mauvais.
≤ ⌈log₂(n+1)⌉cible28
budget restant
3 / 3
intervalle actif : [0, 6] · milieu : 3
comparaisons : 0 · borne ⌈log₂(n+1)⌉ = 3 · n = 7
bac à sable · explore librement
Sans budget ni objectif : génère des parties, clique où tu veux, compare la dichotomie au balayage linéaire.
cible
0tableau trié — clique pour comparer
intervalle actif : [0, 0] · milieu suggéré : 0tes comparaisons (dichotomie)
0
optimal : ⌈log₂(n+1)⌉ = 0
recherche linéaire (équivalent)
0
dans le pire des cas : n = 0
gain de la dichotomie
×—
plus rapide que linéaire ici
24
à retenir
- La dichotomie ne fonctionne que si le tableau est trié.
- À chaque étape, on compare la cible à l'élément du milieu : égal, plus petit, plus grand.
- La taille de l'intervalle est divisée par 2 à chaque tour : complexité O(log n).
- Pour 1 million d'éléments : la dichotomie demande au plus 20 comparaisons, la recherche linéaire jusqu'à 1 000 000.