Adloun

Dérouler à la main tri selection sur [5, 2, 8, 1] , en écrivant l'état…

Application directe du cours · niveau 1 (application) · NSI (première), chapitre 7 — Parcourir, trier, prouver · Dérouler, compter, vérifier

Énoncé

Dérouler à la main tri_selection sur [5, 2, 8, 1], en écrivant l'état du tableau après chaque tour, et vérifier l'invariant à chaque étape.

Corrigé

minimum de `t[i..3]`échangeétat après
---------`[5, 2, 8, 1]`
, en position `t[0]` `t[3]``[1, 2, 8, 5]`
, en position `t[1]` `t[1]``[1, 2, 8, 5]`
, en position `t[2]` `t[3]``[1, 2, 5, 8]`

L'invariant, ligne à ligneavant le tour , t[0..i-1] est trié et contient les plus petits éléments :

Deux observations. Au tour , l'échange se fait de la case avec elle-même : c'est un travail nul, et le tri par sélection en fait souvent. Et à la fin, la boucle s'arrête à , pas : la dernière case est juste par conséquence de l'invariant, non parce qu'on s'en est occupé. C'est le sujet de l'exercice suivant.

Le décompte : comparaisons — soit — et échanges.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.