Vous êtes sur la page 1sur 2

Université de Sidi Bel Abbès

Département d’Informatique
Master WIC et ISI 2016/2017

Algorithmique et Complexité Novembre 2016


TP3 : Comparaison entre 2 algorithmes de tri
Tri Sélection vs Tri Insertion

Question 1 (théorique) :
En tenant compte du type d’analyse (le pire cas, meilleur cas ou tous les cas), donner le nombre
de comparaisons et le nombre d’échanges effectués par chacun des deux algorithmes. En déduire
la complexité asymptotique.
Question 2 (pratique) :
1) Implémenter les algorithmes en java. Pour chaque algorithme, le programme doit :
 calculer le nombre de comparaisons,
 calculer le nombre d’échanges,
 donner le temps d’exécution,
 faire des affichages après chaque échange.
2) Utiliser des fonctions qui permettent la lecture du tableau, son remplissage par des valeurs
aléatoires, son affichage (déjà utilisées dans le TP2).
3) 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 (voir TP2).
4) Les deux algorithmes doivent être exécutés l’un à la suite de l’autre sur le même tableau.
5) Supprimer les affichages intermédiaires et enregistrer pour chaque exécution les valeurs :
taille du tableau, nombre de comparaisons, nombre d’échanges, temps d’exécution dans
des fichiers texte ou csv.
6) Analyser les résultats obtenus et les comparer par rapport aux réponses données à la
question1.
Voici une description des deux méthodes de tri :

Tri par sélection :


- On cherche le minimum dans le tableau.
- On échange ce minimum avec le premier élément du tableau.
- On recommence avec les éléments restants, jusqu'à épuisement.

fonction TRI_SELECTION (tableau t[n])


{
pour i=1 à n-1 faire
{ min=i;
pour j=i+1 a n faire si t[j] < t[min] alors min=j;
echanger(t[i], t[min]);
}
}
Université de Sidi Bel Abbès
Département d’Informatique
Master WIC et ISI 2016/2017

Tri par insertion :


- On suppose que les i ‒1 premiers éléments du tableau sont déjà classés.
- On insère à sa place le i -ième élément parmi les i ‒1 premiers ; de la sorte, les i premiers
éléments sont classés.
- On itère jusqu'à insérer le n-ième.

Fonction TRI_INSERTION (tableau t[n])


{
pour i=2 a n faire
{
k=i-1; temp=t[i];
tant que (k >=1) et (temp < t[k]) faire
{
t[k+1]=t[k]; k--;
}
t[k+1]=temp;
}
}

Bon Courage
Remise du TP le Jeudi 03 Novembre 2016
Mme L. BELKHODJA

Vous aimerez peut-être aussi