Le tri à bulles ne déplace qu'à petits pas
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 3 — Boucles imbriquées et complexité quadratique
Énoncé
Démontrer qu'au cours d'un passage du tri à bulles, un élément ne peut se déplacer vers la gauche que d'une seule position au maximum. En déduire le comportement sur un tableau du type .
Corrigé
Démonstration :
- La boucle interne parcourt le tableau de gauche à droite ( augmente).
- Un élément situé à l'indice ne recule vers la gauche (à l'indice ) que s'il est plus petit que son voisin de gauche ().
- Une fois l'échange effectué, l'indice de boucle passe à , l'élément est maintenant à gauche de la comparaison courante. Il ne sera plus comparé ni déplacé de tout le reste de la passe. Par conséquent, un élément ne peut reculer que d'une seule case par passe complète. Si le minimum (la valeur 1) se situe tout à droite d'une liste de taille , il devra reculer de cases pour atteindre sa position définitive. L'algorithme effectuera donc systématiquement passes, même si le reste de la liste est parfaitement trié.
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.