algorithmique (école d'ingénieur) · Chapitre 13 · Application directe du cours
Dérouler la recherche du -ème élément
Diviser pour régner · niveau 1 (application)
Énoncé
On exécute kieme(T, 5) sur , avec une segmentation qui prend pour pivot la dernière case de la zone (sans tirage au hasard). Donner, à chaque tour, la zone , la position du pivot et le contenu du tableau. Quelle valeur est retournée ? Vérifier qu'il s'agit bien de la valeur qui serait en case du tableau trié.
Corrigé
Le programme Tableaux.java affiche, tour par tour :
zone [0:8) -> pivot 5 en case 3, T = [1, 3, 2, 5, 9, 8, 7, 6]
zone [4:8) -> pivot 6 en case 4, T = [1, 3, 2, 5, 6, 8, 7, 9]
zone [5:8) -> pivot 9 en case 7, T = [1, 3, 2, 5, 6, 8, 7, 9]
zone [5:7) -> pivot 7 en case 5, T = [1, 3, 2, 5, 6, 7, 8, 9]
resultat 7
- Tour 1 : le pivot arrive en case ; la valeur cherchée est à droite : .
- Tour 2 : le pivot arrive en case : .
- Tour 3 : le pivot arrive en case : .
- Tour 4 : le pivot arrive en case : on retourne .
nom : T
valeurs : 1 3 2 5 9 8 7 6
griser : 0..2
colorier : 3
pointeurs : p=3 k=5
legende : tour 1 : pivot 5 en case 3 < 5, la zone devient T[4:8]
nom : T
valeurs : 1 3 2 5 6 8 7 9
griser : 0..3
colorier : 4 7
pointeurs : g=5 k=5 d=7
legende : tours 2 et 3 : pivots 6 en case 4 et 9 en case 7, zone T[5:7]
nom : T
valeurs : 1 3 2 5 6 7 8 9
griser : 0..4 6..7
vert : 5
pointeurs : p=5 k=5
legende : tour 4 : pivot 7 en case 5 = k, on retourne 7
Le tableau trié est : sa case contient bien . Les cases à ne sont pas triées à la fin () : la recherche n'a jamais eu besoin de les ordonner, c'est ce qui la rend plus rapide qu'un tri.
100 % gratuit
La suite du chapitre est sur Adloun
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.