Methode de Tri efficace Tri par selection Methode de Tri efficace
SOMMAIRE -Généralités -Complexité -Algorithme
Trier les données Créer un ordre dans les données : - Ordre croissant, Ordre décroissant pour les valeur numériques - Ordre Alphabétique pour les mots Utilité du Tri ? - Faciliter une recherche - Gestion plus ergonomique
Tri par selection Trier cette liste de nombre par ordre décroissant : 6, 1, 19, 25, 18 Méthode : - Prendre le plus petit nombre - Prendre le plus petit nombre suivant La liste triée donne : 1, 6, 18, 19, 25
Fonctionnement Considérons la même suite de nombre : 6, 1, 19, 25, 18 On indice les nombres de 1 à N : - Echange de position entre le nombre de l’indice 1 et le plus petit nombre - Echange de position entre le nombre de l’indice 2 et le plus petit nombre en considérant le tableau à partir du second indice - Répéter ainsi jusqu’à l’étape N-1
Exemple Reprenons la suite de tout à l’heure : - 6, 1, 19, 25, 18 - 1, 6, 19, 25, 18 - 1, 6, 18, 25, 19 - 1, 6, 18, 19, 25
Avantages/Inconvénients - Simple à mettre en oeuvre Inconvénients : - Tri lent qui prendrait énormément de temps si beaucoup de données doivent être triées - Ordre d’apparition d’éléments égaux non conservés
QUALITE D’UN ALGORITHME Efficacité : -Utilisation de la mémoire (octets) -Durée d’éxécution (sec) Complexité : Contraire d’efficacité Notation : O(n) (n -> nombre de données)
COMPLEXITE Attention : Ignorer la constante multiplicateur -> O(3n)=O(n) Compter le nombre d’itérations dans la boucle Calcul de la complexité O : Tableau de n éléments (1ère itération : n – 1 comparaisons) ( ième itération : n – i comparaisons)
COMPLEXITE n éléments Pour choisir l’élément: n-1 comparaisons récursion mettre ensemble: 1 opération 6 3 2 9 4 5 2 6 3 9 4 5 2 3 4 5 6 9 2 3 4 5 6 9
COMPLEXITE Complexité quadratique O(n²) -> Si on double la taille du tableau, il faudra 4 fois plus de temps pour le trier En résumé, lorsque on utilise le tri par sélection : - On effectue environ n(n−1) / 2 comparaisons - On effectue environ n échanges - La complexité moyenne est quadratique
Algorithme Création de la table à classer Entrées des boucles pour parcourir la liste Comparaison du terme de base avec chaque terme du reste de la liste Remplacement des termes de la liste