NSI (terminale) · Chapitre 6 · Exercice de TD
Première occurrence par dichotomie
Diviser pour régner · niveau 2
Énoncé
Première occurrence par dichotomie.
Modifier la recherche dichotomique pour qu'elle renvoie l'indice de la première occurrence d'une valeur présente plusieurs fois dans un tableau trié.
Corrigé
on continue la recherche dans la moitié gauche même après avoir trouvé la cible, en mémorisant la position courante.
def premiere_occurrence(tab, cible):
g, d = 0, len(tab) - 1
res = -1
while g <= d:
m = (g + d) // 2
if tab[m] == cible:
res = m # on memorise et on cherche plus a gauche
d = m - 1
elif tab[m] < cible:
g = m + 1
else:
d = m - 1
return res100 % gratuit
Essaie le suivant avec le tuteur
- L'exercice suivant avec le tuteur, sans compte : il guide pas à pas, sans donner la réponse
- 7 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le podcast et la vidéo du chapitre : 2 minutes d'écoute sans compte
Sans compte : le cours, le premier QCM, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.