Cours 5 - Trois algorithmes de tri d'un tableau

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Algorithmique (suite)
Fonctions & procédures
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Les Algorithmes de tri.
Programme d’une fête du fin de l’année
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
Chapitre 6: Les procédures et les fonctions
INTRODUCTION.
Cryptographie basée sur les codes
Initiation à la programmation et algorithmique cours 3
CALCUL PARALLELE PRODUIT : MATRICE – VECTEUR 10 pages Exposé par :
Utilisation des tableaux
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Algo-Prog en Ada TD1 2 MIC Romaric GUILLERM
Algorithmes et résolution de problèmes FGE
Démarche de résolution de problèmes
8PRO100 Éléments de programmation Comment faire prendre une décision à un ordinateur?
Les éléments de base de l’algorithmique
Les algorithmes: complexité et notation asymptotique
Chapitre VII. Tri Tri par tas Tri rapide.
Methode de Tri efficace
Les tris.
Structures de données IFT-2000
Introduction à l’algorithmique
STRUCTURES DE DONNÉES Maxime CROCHEMORE

8PRO107 Éléments de programmation
Analyse des algorithmes: une introduction. La question abord é e dans ce chapitre est la suivante: Comment choisir parmi les diff é rentes approches pour.
Chapitre 4 : Morphologie Mathématique
Les Algorithmes de Tri Introduction Tri par Sélection
Tutorat en bio-informatique Le 21 novembre Exercices 2 et 3 (MAT1400) - solutions Chapitre 11.7, Analyse - concepts et contextes vol. 2 27) Cherchez.
201 UMLV  Type « dictionnaire » sous-ensembles finis de E (ordonné) avec les opérations : Ens_vide :  Ens Ajouter : Ens x Elément  Ens Enlever.

Exploration systématique de graphes
ALGORITHME DE TRI Le tri par insertion.
ALGORITHMIQUE Recherches : Tris : séquentielle, dichotomique
Chapitre 6 Les traitements avancés
Algorithmes de tri et de recherche
Décomposition et paramétrage des algorithmes
Programmation linéaire en nombres entiers
Méthodes de tri.
Cours 4 - Trois algorithmes de recherche dans un tableau
Structures de contrôle
Les tris Tri Action de mettre une structure de données en ordre (croissant ou décroissant). Le plus simple est d’insérer en ordre. Les algorithmes de tri.
1 1 Huitième journée Quelques algorithmes. 2 Définition Description des tâches pour que celles-ci soient aisément programmables Différent d’une méthode.
Organisation des données Introduction à la programmation Traitements simples Affectation Parcours Définition du tableau Les Tableaux Mise en situation.
Enveloppe convexe et triangulation de Delaunay
Tutorat en bio-informatique Le 28 novembre Au programme… Algorithmes de tri dans un tableau (suite) Récursivité MAT1400.
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
ACTIVITES 20- Racines carrées.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
2 Cadre du TER Projet Algol But du TER Conception et étude d’algorithmes de traitement de données dans un satellite d’observation de la voûte spatiale.
Algorithmes de tri.
8PRO107 Éléments de programmation Les tableaux. Étude de cas 1 Description du problème : Lire une liste d’entiers et l’afficher d’abord dans le même ordre.
Algorithmique Tableaux de données
Structures de données IFT-2000
VI. Tri par tas.
Files de priorité (Priority Queue)
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
L'exécution d'un programme nécessite l'utilisation des ressources de l'ordinateur : temps de calcul pour exécuter les opérations, et l'occupation de la.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
H. Richard – Elodie Laine – Initiation à la programmation impérative et algorithmique Cours 5 – Tableaux Largement inspiré des cours.
Transcription de la présentation:

Cours 5 - Trois algorithmes de tri d'un tableau

Cours 5 - Trois algorithmes de tri d'un tableau 1 - Introduction Dans ce chapitre, on considère que : on manipule des données de type Élément; le type Élément respecte un ordre (Ex: entiers, chaussures…); on a défini un type Tab décrivant un tableau de taille N et contenant des Élément. Tab: type tableau[1..N] de Élément; Problème : comment trier en ordre croissant les éléments d'un tableau? problème classique et très utilisé; beaucoup d'algorithmes existent; nous détaillons trois algorithmes simples. Pour résoudre ce problème, nous allons écrire une procédure procédure tri(R t:Tab) qui réalise le tri du tableau t en ordre croissant.

Cours 5 - Trois algorithmes de tri d'un tableau Problème : comment trier en ordre croissant les éléments d'un tableau? 12 17 -883 1 87 157 166 54 1823 17 33 80 1020 899 -58 13 21 20 -105 9 41 157 64 732 1501 367 31 11 90 2433 166 2138 772 806 -2 2 521 130 100 71 définir une suite d'opérations précise pour trier un ensemble d'éléments

Cours 5 - Trois algorithmes de tri d'un tableau Principe : rechercher le plus petit élément de la partie non triée du tableau; échanger cet élément avec le premier de la partie non triée du tableau; répéter ces opérations N fois. 2 – Tri par sélection 12 33 43 51 98 103 12 33 43 51 98 103 12 33 43 51 98 103 12 33 43 51 98 103 12 33 103 51 98 43 98 43 103 51 12 33 12 33 103 51 98 43 12 43 103 51 98 33 12 43 103 51 98 33 12 33 43 51 98 103 98 43 103 51 12 33 12 33 43 51 98 103

Cours 5 - Trois algorithmes de tri d'un tableau Principe : rechercher le plus petit élément de la partie non triée du tableau; échanger cet élément avec le premier de la partie non triée du tableau; répéter ces opérations N fois. 2 – Tri par sélection Amélioration?

Nb comparaisons = (N - 1) + (N - 2) + … + 1 Calcul de la complexité au pire des cas en nombre de comparaisons  N-1 comparaisons pour la 1ère recherche du minimum, N-2 comparaisons pour la 2ème, N-3 comparaisons pour la 3ème, … 1 comparaison pour la dernière recherche. Nb comparaisons = (N - 1) + (N - 2) + … + 1 = N * (N- 1) / 2 ~ N2 en nombre de permutations  à chaque recherche du minimum on effectue une permutation Nb permutations = N – 1 ~N Le tri par sélection s'effectue avec, au pire des cas: N2 comparaisons N permutations

Cours 5 - Trois algorithmes de tri d'un tableau Principe : parcourir la partie à trier du tableau depuis la fin jusqu'au début; chaque fois que 2 éléments consécutifs ne sont pas dans le bon ordre, les échanger; répéter N fois ce parcours. 3 – Tri à bulles 98 12 43 103 51 33 12 98 43 103 51 33 98 43 12 103 51 33 98 12 43 103 51 33 98 43 103 12 51 33 98 43 103 51 12 33 98 43 103 51 12 33 98 43 103 12 51 33 98 43 12 103 51 33

Cours 5 - Trois algorithmes de tri d'un tableau Principe : parcourir la partie à trier du tableau depuis la fin jusqu'au début; chaque fois que 2 éléments consécutifs ne sont pas dans le bon ordre, les échanger; répéter N fois ce parcours. 3 – Tri à bulles Amélioration?

Calcul de la complexité au pire des cas en nombre de comparaisons N-1 comparaisons pour remonter le 1èr minimum, N-2 comparaisons pour remonter le 2ème, N-3 comparaisons pour remonter le 3ème, … 1 comparaison pour remonter le dernier. Nb comparaisons = (N - 1) + (N - 2) + … + 1 = N * (N- 1) / 2 ~ N2 en nombre de permutations  au pire, à chaque comparaison on effectue une permutation Nb permutations = Nb comparaisons ~N² Le tri à bulles s'effectue avec, au pire des cas: N² comparaisons N² permutations

Cours 5 - Trois algorithmes de tri d'un tableau Principe : considérer le premier élément de la partie non triée du tableau; l'insérer à sa place dans la partie triée; répéter ces opérations N fois. 4 – Tri par insertion 43 98 103 12 33 43 98 103 12 33 43 51 98 103 12 33 43 98 103 12 33 43 98 103 51 12 33 43 51 98 103 12 33 43 98 103 51 12 33 98 43 103 51 12 33 98 43 103 51 12 33 98 103 51 12 33 98 103 51 12 33 43 98 103 51 12 33 43 98 103 51 12 33

Cours 5 - Trois algorithmes de tri d'un tableau Principe : considérer le premier élément de la partie non triée du tableau; l'insérer à sa place dans la partie triée; répéter ces opérations N fois. 4 – Tri par insertion Amélioration?

Nb comparaisons = (2+3+4+…+N)*2 Nb affectations = 3+4+5+…+(N+1) Calcul de la complexité au pire des cas en nombre de comparaisons  2 fois la ligne de test pour t[2], 3 fois la ligne de test pour t[3], 4 fois la ligne de test pour t[4], … N fois la ligne de test pour t[N], Nb comparaisons = (2+3+4+…+N)*2 ~ N2 en nombre d'affectations  au pire, à la première étape on effectue 3 affectations, puis 4 à la seconde, 5 à la troisième… Nb affectations = 3+4+5+…+(N+1) ~N² Le tri par insertion s'effectue avec, au pire des cas: N² comparaisons N² affectations