1 / 9

Cours Algorithmique et Analyse : Les tris simples

Cours Algorithmique et Analyse : Les tris simples. Mathieu Roche Jérôme Azé Fondé sur le polycopié de J.P Chevillard 2003 - 2004 Université Paris-Sud Filière : C4 - DU. 1. Durées d’exécution. 1. Durées d’exécution. Considérons f et g deux fonctions de n à valeurs positives.

Download Presentation

Cours Algorithmique et Analyse : Les tris simples

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours Algorithmique et Analyse :Les tris simples Mathieu Roche Jérôme Azé Fondé sur le polycopié de J.P Chevillard 2003 - 2004 Université Paris-Sud Filière : C4 - DU

  2. 1. Durées d’exécution Cours Algo - C4-DU

  3. 1. Durées d’exécution • Considérons f et g deux fonctions de n à valeurs positives. • On dit que f croît comme Θ(g) si il existe deux constantes c1et c2 positives et une valeur n0 telles que pour tout n>n0 on ait c1g(n) ≤ f(n) ≤ c2g(n) • On dit que f croît comme O(g) si il existe une constante cpositive et une valeur n0 telles que pour tout n>n0 on ait f(n)≤cg(n) • Remarques : • Dans les tris évoqués, tous les éléments seront rangés dans des tableaux t • On traite les tris croissants Cours Algo - C4-DU

  4. 2. Tri par sélection • Principe : • Soit un tableau dont on veut trier les éléments (par valeurs croissantes). • On recherche dans le tableau l’élément de plus petite valeur et on l’échange avec l’élément à la première place. • On réitère ensuite pour le tableau privé du premier élément, puis pour le tableau privé de ses deux premiers éléments, et ainsi de suite … Cours Algo - C4-DU

  5. 2. Tri par sélection Procédure tri_sélection (t: tableau de ty_el_tri indicé [1..n], Entrée/Sortie; /* tableau à trier/trié */ n : numérique, Entrée/* nombre d’élément à trier */ ) Cours Algo - C4-DU

  6. 2. Tri par sélection • Complexité : • n(n-1)/2 comparaisons  complexité temporelle en Θ(n2) • (n-1) échanges  complexité temporelle en Θ(n) Cours Algo - C4-DU

  7. 3. Tri par insertion directe • Principe : • Soit un tableau d’éléments à trier : t[1..n] • On suppose que le sous tableau t[1..α] est déjà trié (bien entendu, α < n). • On considère l’élément t[α+1] et on cherche à l’insérer à la bonne place dans le sous tableau t[1..α+1] Cours Algo - C4-DU

  8. 3. Tri par insertion directe Procédure tri_insertion_directe (t: tableau de ty_el_tri indicé [1..n], Entrée/Sortie; /* tableau à trier/trié */ n : numérique, Entrée/* nombre d’élément à trier */ ) Cours Algo - C4-DU

  9. 3. Tri par insertion directe • Complexité : • La complexité est également en Θ(n2). • Si le tableau est presque en ordre, il y a peu de décalages à effectuer et peu d’opérations sont donc nécessaires contrairement au tri par sélection. • Le tri par insertion est donc « un bon tri » si le tableau à trier a de bonnes chances d’être presque ordonné. • Optimisation du tri par insertion directe : le tri par insertion dichotomique Cours Algo - C4-DU

More Related