algorithmique (école d'ingénieur) · Chapitre 14 · Application directe du cours
Quels tris sont stables ?
Les tris · niveau 1 (application)
Énoncé
Pour chacun des tris par insertion, par sélection, par fusion, rapide et par tas, dire s'il est stable. Justifier les réponses positives par un argument sur le programme, et les réponses négatives par un contre-exemple.
Corrigé
- Insertion : stable. Une valeur ne passe devant une autre que si celle-ci est strictement plus grande (test
T[i-1] > x) : deux valeurs égales ne se croisent jamais. - Fusion : stable. En cas d'égalité, le test
T[a] <= T[b]prend d'abord la valeur de la moitié gauche, qui était avant dans le tableau. - Sélection : non stable. L'échange envoie loin derrière. Avec des couples triés selon la première composante :
14.11 selection : (1,3) (2,2) (2,1)
14.11 insertion : (1,3) (2,1) (2,2)
Au départ : le minimum est échangé avec , qui passe derrière .
valeurs : (2,1)|(2,2)|(1,3)
colorier : 0 2
fleches : 2->0
fleches-bas : 0->2
legende : le minimum (1,3) prend la case 0 ; (2,1) passe derrière (2,2)
- Rapide : non stable. La segmentation échange des cases éloignées. Sur avec pour pivot la dernière case : reste en place, puis le pivot est échangé avec ; on obtient , ce qui est stable ici, mais avec on obtient : et ont été inversés.
- Tas : non stable. Sur (déjà un tas), la première extraction échange la racine avec la dernière case : le résultat est .
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.