Université de Sidi Bel Abbès
Département d’Informatique
Master WIC / ISI/ RSSI 2018/2019
Algorithmique et Complexité Novembre 2018
TP2 : Comparaison entre algorithmes de tri
Tri avec tableau vs Tri avec liste chainée
1/ Tri avec tableau:
Soit la procédure tri suivante :
procedure tri(entier[] tab)
entier i, k;
entier tmp;
pour (i de 2 à N en incrémentant de 1) faire
tmp <- tab[i];
k <- i;
tant que (k > 1 et tab[k - 1] > tmp) faire
tab[k] <- tab[k - 1];
k <- k - 1;
fin tant que
tab[k] <- tmp;
fin pour
fin procedure
Questions :
1) Implémenter la procédure en java et compléter le code donné. L’utilisateur doit donner la
taille du tableau et aura le choix entre introduire les valeurs ou bien laisser le programme
les générer aléatoirement.
2) Assurez vous que pour le tableau [ 4 4 3 2 1 ] à la fin de chaque grande itération on
obtient : [ 4 4 3 2 1 ] [ 3 4 4 2 1 ][ 2 3 4 4 1 ] [ 1 2 3 4 4 ]. Expliquer le principe de ce tri.
3) Calculer le nombre de comparaisons et le temps d’exécution pour trier un tableau.
4) En déduire la complexité asymptotique de l’algorithme.
Université de Sidi Bel Abbès
Département d’Informatique
Master WIC / ISI/ RSSI 2018/2019
2/ Tri avec une liste chainée:
Soit une liste initiale A. Pour trier A il suffit de :
1- Créer une deuxième liste B initialement vide, qui contiendra le résultat final.
2- Insérer les nœuds de liste A dans B, un à un tel que chaque nœud de A ne peut être inséré
dans B qu’avant un nœud de B qui lui est supérieur.
3- Le nœud de A inséré est supprimé de A.
Exemple Liste A au départ :
TêteA
AA A
6 10 5 8 20
Liste A après 3 insertions :
TêteA 8 20
Liste B après 3 insertions :
TeteB
5 6 10
Liste B à la fin :
TêteB
5 6 8 10 20
Questions :
1) Trouver les instructions I1à I5 et compléter le code donné.
2) Calculer le nombre de comparaisons et le temps d’exécution pour trier un tableau.
3) En déduire la complexité asymptotique de l’algorithme.
4) Proposer une nouvelle méthode de tri utilisant une seule liste. Le tri doit se faire sur place,
au niveau de la liste initiale.
5) Comparer entre les 3 méthodes proposées dans ce TP.