Algorithmique et programmation Informatique Cours 11 26/11/2001.

Slides:



Advertisements
Présentations similaires
Tris.
Advertisements

Initiation à la programmation et algorithmique cours 4
Le langage Z Pr ZEGOUR DJAMEL EDDINE
Algorithmique (suite)
Fonctions & procédures
Calculs de complexité d'algorithmes
DECLARATION DE VARIABLES
Les Algorithmes de tri.
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.
Applications sur les algorithmes récurrents avec Les Matrices
1 UMLV Optimalité des tris par comparaisons : O(n logn) Classements linéaires Tris lexicographiques Tri lexicographique.
1 Révisions. 2 Tableaux non contraints Déclaration du type : type Tvecteur = tableau ( intervalle dentiers) de entiers type Tvecteur is array (integer.
Chapitre III. Algorithmique élémentaire des tableaux (recherche, tri)
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Initiation à la programmation et algorithmique cours 3
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
1)Boucle for 2)Boucle while
Utilisation des tableaux
ALGORITHMES RECURSIFS
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Structures de données linéaires
Introduction à l’algorithmique
Algorithmique et Programmation
Correction du reste des exercices
Les éléments de base de l’algorithmique
ALGORITHMIQUE Plan du cours Généralités -définition -importance
Python La structure itérative
Informatique Cours 13 10/12/2001 Calcul scientifique
Algorithme de Bellman-Ford
Structures de données IFT-2000
Algorithmique et programmation Informatique Cours 10 19/11/2001.
Semaine #1 INF135 par Frédérick Henri.

8PRO107 Éléments de programmation
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Les Algorithmes de Tri Introduction Tri par Sélection
Tableaux Introduction aux tableaux à une dimension. Déclaration, stockage, initialisation et accès en lecture ou en écriture aux composantes d’un tableau.

ALGORITHME DE TRI Le tri par insertion.
Algorithmique Les structures Rappel L'enchaînement séquentiel
ALGORITHMIQUE Recherches : Tris : séquentielle, dichotomique
Algorithmique et programmation Informatique Cours 12 3/12/2001.
Déclaration des données constantes Déclaration des données variables
Procédures et fonctions Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Chapitre 6 Les traitements avancés
Algorithmes de tri et de recherche
Méthodes de tri.
Cours 4 - Trois algorithmes de recherche dans un tableau
Structures de contrôle
Méthodes et outils de conception Introduction à la programmation Paramètre de retour Appel d’une fonction Portée des variables Définition Pourquoi les.
Structures simples et tableaux Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
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.
Introduction à la récursivité
4 novembre 2002 Informatique Cours Les tables Gestion Recherche Séquentielle sûr - pas sûr Insertion - suppression Tassement Pas triée Triée.
MATHÉMATIQUES DISCRÈTES Chapitre 2 (section 1)
Cours 5 - Trois algorithmes de tri d'un tableau
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
Structures de données IFT-2000 Abder Alikacem Semaine 14 Les algorithmes de tri Département d’informatique et de génie logiciel Édition septembre 2009.
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Visibilité de variables Paramètres de fonction premier auteur : Agata Savary.
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.
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.
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

Algorithmique et programmation Informatique Cours 11 26/11/2001

Les tris Indice, numéro dordre Valeurs à trier Valeurs triées

Les tris

Les tris Tri bulle Insertion linéaire Quicksort Tri Shell Fusion

Tris: bulle Procedure tri_bulle ( Z: M ) variables i, j: entier; corps i 1; répéter pour j de 1 à N - i faire si Z j > Z j+1 alors Z j+1 Z j fsi fpour i i + 1 jusquei = N - 1 fproc 1_tri_bulle ƒ

Tris: insertion linéaire Procedure tri_insertion ( Z: M ) variables i, j: entier;sauve: réel; corps pour i de 2 à N faire sauve Z i ;j i - 1 tant que sauve 1 faire Z j+1 Z j j j - 1 ftant si sauve < Z j alors Z j+1 Z j ; Z j sauve sinon Z j+1 sauve fsi fpour fproc 2_insertion_linéaire ƒ

Tris: insertion linéaire Nombre de comparaisons nécessaires : si les nombres à trier sont disposés « au hasard » alors

Tris: insertion linéaire Nombre de comparaisons nécessaires: Si j éléments sont déjà triés Pour placer le j+1 ième nombres de comparaisons: j / 2 Pour les placer tous

Tris: Quicksort Procedure tri_quick (Z: M ; debut, fin: entier ) variables i, j: entier ; pivot: réel; corps si fin - debut > 0 alors pivot Z debut i debut +1;j fin r épéter tant que Zi < pivot et i < j faire i i + 1 ftant tant que Zj > pivot et i j faire j j - 1 ftant si < j alors Z i Z j ; j j - 1 fsi i i + 1 jusque i > j Z j Z debut tri_quick (debut, j-1) tri_quick (j+1, fin) fsi fproc 3_tri_quicksort ƒ

Tris: Quick Nombre de comparaisons nécessaires: Pour le premier vecteur: n comparaisons Pour les deux deuxièmes vecteurs: n/2 et n/2soitn comparaisons Pour les quatres vecteurs: n/4n/4 n/4 n/4soit n comparaisons Nombre de fois que nous pouvons « couper » en deux sous- vecteurs: log 2 n

Tris: comparaison Nombre de comparaisons en moyenne N =2kk2kk Séquentielle ~ n 2 /4 Dichotomique ~ n log 2 n

Tris: Shell Procedure tri_shell ( Z: M ) variables h, i, j, ii, jj, k: entier ; sauve: réel; corps h 1 tant que h (4 * n - 9) ÷ 3 faire h 3 * h + 1 ftant répéter pour i de 1 à h faire jj i pour j de i + 1 à n ÷ h faire jj jj + h;k jj - h; sauve Z ij tant que (sauve h) faire Z k + h Z k ; k k - hftant si sauve < Z k alorsZ k + h Z k ; Z k sauve sinonZ k + h sauvefsi fpour h (h - 1) div 3 jusquà h < 1 fproc

Tris: comparaisons Bloc tri constanten = … typev = vecteur 1 à 200 dentiers variablesR, S, T: v k: entier corps Lire (T) R T;S T; lineaire(R, n); shell(S, n); quick(T, 1, n); pour k de 1 à n faire écrire(k, R k, S k, T k ) fpour fbloc. 4a_trois_tri_tick (80) ƒ 4b_trois_tri_tick(5000) ƒ

Tris: entités bloc test constantemax = 500; typefiche enregistrement numero: entier; denom: vecteur de caractères fin v = vecteur 1..max de fiche variables liste: v ;j, k: entiers; corps initialisation(liste); pour k de1 à 20 faire écrire (numero de liste k ); écrire(denom de liste k ) fpour trilin(liste, max); pour k de1 à 20 faire écrire (numero de liste k ); écrire(denom de liste) fpour fin bloc 5_test tri entité ƒ

Tris: entités procedure trilin (x: v ; n: entier); variablesj, k: entiers;sauve: fiche; corps pour k de 2 à n faire j k - 1;sauve x k ; tant que (sauve.numero 1) faire x j + 1 x j ; j j - 1 ftant; si sauve.numero < x j.numero alors x j + 1 x j ; x j sauve sinon x j + 1 sauve fsi fpour fproc 5_test tri entité ƒ

Tris: stabilité Soit le vecteur Deux des composantes sont égales. Notons les 7a et 7b respectivement. Le vecteur s'écrit: 5 2 7a 7b Tri est stable a 7b 9 Tri n'est pas stable b 7a 9

Tris: stabilité JulesDurand AnnemarieDupont PierreDupré AnneDupont AnneDupont AnnemarieDupont JulesDurand PierreDupré AnnemarieDupont AnneDupont PierreDupré JulesDurand Tri sur le prénom Tri instable sur le nom