Adloun

NSI (première) · Chapitre 7 · Application directe du cours

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

Parcourir, trier, prouver · Dérouler, compter, vérifier · niveau 1 (application)

É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 à ligne — avant le tour , t[0..i-1] est trié et contient les plus petits éléments :

  • avant : partie vide, vrai par vacuité ;
  • avant : [1] — trié, et est bien le plus petit des quatre ;
  • avant : [1, 2] — trié, et ce sont bien les deux plus petits ;
  • avant , c'est-à-dire à la sortie : [1, 2, 5] — trié, et ce sont les trois plus petits. Le restant est donc le plus grand, et il est déjà à sa place.

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.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →