Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →