Au programme de ce chapitre
- I. La recherche séquentielle et la recherche dichotomique
- II. Le tri par sélection
- III. Le tri par insertion
- Savoir-faire
- Exercices types corrigés
- Teste-toi — vrai ou faux ?
- Pièges fréquents et astuces
- À retenir
La définition à retenir
Un exemple corrigé
python3 sur le tableau trié t = [2, 5, 8, 12, 16, 23, 38, 45, 56, 72], à la recherche de 23 :
>>> def recherche_dichotomique(t, cible):
... gauche, droite = 0, len(t) - 1
... while gauche <= droite:
... milieu = (gauche + droite) // 2
... if t[milieu] == cible:
... return milieu
... elif t[milieu] < cible:
... gauche = milieu + 1
... else:
... droite = milieu - 1
... return -1
>>> recherche_dichotomique(t, 23)
5
>>> recherche_dichotomique(t, 100)
-1
Sur ce tableau de 10 éléments (indices 0 à 9), il ne faut que 3 comparaisons pour trouver 23 à l'indice 5, alors qu'une recherche séquentielle en aurait fait 6 : c'est l'illustration du schéma ci-dessous.Les erreurs fréquentes à éviter
L'astuce du prof
Exercices corrigés
Cherche d'abord seul, puis ouvre la correction.
Exercice 1
Voir la correction
Exercice 2


