Questions extraites du site genumsi.inria.fr qui propose des QCM d'entraînement.

Invariant d'un algorithme de tri par sélection :


On considère un algorithme de tri par sélection, dans lequel la fonction:

echanger(tab[i], tab[j])

effectue l'échange des ième et jième valeurs du tableau tab.





nom: tri_sélection

paramètre: tab, tableau de n entiers, n>=2

Traitement:
pour i allant de 1 à n-1:
pour j allant de i+1 à n:
si tab[j] < tab[i]:
echanger(tab[i], tab[j])
renvoyer tab


Question: quel est l'invariant de boucle qui correspond précisément à cet algorithme ?

Cliquer pour afficher la solution

La réponse est : B