Académique Documents
Professionnel Documents
Culture Documents
TD/TP n°2
Algorithmes de tri
Exo 0 : Ecrivez une méthode afficheTab(tableau) qui affiche les éléments d'un tableau.
Le principe est de sélectionner l'élément le plus petit du tableau, c'est à dire de trouver l'entier p tel
que ∀i, t[i] ≥ t[p]. Une fois cet emplacement trouvé, on échange le premier élément du tableau avec
celui-ci. Puis on recommence ces opérations sur le reste du tableau (c'est à dire les éléments compris
entre les indices 2 et n). On cherche alors le plus petit élément de cette nouvelle suite de nombre et
on l'échange avec le 2e élément du tableau. Et ainsi de suite jusqu'à ce qu'on ait placé tous les
éléments du tableau.
Exo 1 : Décrivez les étapes successives pour trier le tableau suivant selon le tri par sélection :
L = [9, 5, 1, 6, 2, 3, 7, 0, 4, 8]
2. Tri à bulles
Le tri à bulles est sans doute le plus lent des tris possibles. L'idée est de comparer successivement
tous les éléments adjacents d'un tableau et de les échanger si le premier élément est supérieur au
second. On recommence cette opération tant que tous les éléments ne sont pas triés.
Exo 4 : Complexité :
On s'intéresse à la complexité en terme d'échanges
Testez cette méthode à la main sur le tableau de l'exo précédent.
Quel est le pire cas possible et quelle est alors la complexité de l'algorithme.
Exo 5 : Ecrivez la méthode triBulle(tableau) qui trie le tableau selon la méthode du tri à bulles.
Le principe de ce tri est d'insérer à la n-ième itération le n-ième élément à la bonne place.
Exo 6 : Complexité :
On s'intéresse à la complexité en terme d'échanges
Testez cette méthode à la main sur le tableau de l'exo précédent.
Quel est le pire cas possible et quelle est alors la complexité de l'algorithme.
Exo 7 : Ecrivez la méthode triInsertionIter(tableau) qui trie le tableau de manière itérative selon la
méthode du tri par insertion.
Exo 8 : Ecrivez la méthode triInsertionRec(tableau) qui trie le tableau de manière récursive selon la
méthode du tri par insertion.