Vous êtes sur la page 1sur 34

Algorithmes de recherches et algorithmes de tris

Mirrane Achraf

CPGE Moulay Youssef


mirraneachraf@gmail.com

septembre 2022

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 1 / 34


Aperçu général

1 Introduction

2 Algorithmes de recherches
Recherche séquentielle
Recherche dichotomique

3 Algorithmes de tris
Tri par comptage
Tri à bulles
Tri par insertion
Tri par sélection

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 2 / 34


Introduction

Introduction

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 3 / 34


Algorithmes de recherches

Algorithmes de recherches

• On cherche a déterminer si une valeur x se trouve dans une liste ou non.


• il y a plusieurs méthode pour réaliser la recherche.
• l’opérateur in est un raccourcis pour résoudre ce problème.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 4 / 34


Algorithmes de recherches Recherche séquentielle

Recherche séquentielle

Definition
La recherche séquentielle est une méthode de recherche dans une liste.
On parcours le tableau, élément par élément, et on interrompe le parcours des
qu’on trouve l’élément souhaiter.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 5 / 34


Algorithmes de recherches Recherche séquentielle

Recherche séquentielle
une fonction qui retourne True si l’élément x est présent dans L, et False sinon.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 6 / 34


Algorithmes de recherches Recherche séquentielle

Recherche séquentielle
Ou encore meilleur, on retourne True dès qu’on trouve l’élément.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 7 / 34


Algorithmes de recherches Recherche séquentielle

Exercice

Exercice 1
Écrire une fonction python, qui prend comme paramètre un entier x et une
liste L.
si x est présent dans la liste L, la fonction retourne l’indice de x, sinon, la
fonction retourne False.
On utilisant la méthode de recherche séquentielle.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 8 / 34


Algorithmes de recherches Recherche séquentielle

Correction
Exercice 1 : Solution

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 9 / 34


Algorithmes de recherches Recherche séquentielle

Exercice 1 : Autre solution


Ou encore meilleur, on retourne l’indice dès qu’on trouve l’élément.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 10 / 34


Algorithmes de recherches Recherche séquentielle

L’opérateur in
Definition
on peut utiliser l’opérateur in pour vérifier rapidement si un élément est
pressent dans une liste.

Exemple

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 11 / 34


Algorithmes de recherches Recherche dichotomique

Recherche dichotomique

Definition
La recherche dichotomique est une méthode efficace et rapide qui permet de
trouver un élément x dans une liste L qui est déjà trié.
Cet algorithme se déroule généralement par les étapes suivantes :
• On compare l’élément x avec l’élément du milieu de la liste L
• S’il est égale a x, on a trouver l’élément
• Sinon :
• si x est inférieur, il faut chercher dans la premier moitié de la liste L
• si x est supérieur, il faut chercher dans la deuxième moitié de la liste L
On retourne a l’étape 1 avec la liste réduite.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 12 / 34


Algorithmes de recherches Recherche dichotomique

Recherche dichotomique
Exemple 1

Exemple 2

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 13 / 34


Algorithmes de recherches Recherche dichotomique

Recherche dichotomique
une fonction qui retourne vrai si l’élément x est présent dans L, et faux sinon.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 14 / 34


Algorithmes de recherches Recherche dichotomique

Exercice

Exercice 2
Écrire une fonction python, qui prend comme paramètre un entier x et une
liste L.
si x est présent dans la liste L, la fonction retourne l’indice de x, sinon, la
fonction retourne -1.
On utilisant la méthode de recherche dichotomique.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 15 / 34


Algorithmes de recherches Recherche dichotomique

Correction
Exercice 1 : Solution

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 16 / 34


Algorithmes de recherches Recherche dichotomique

Correction
Exercice 1 : Solution

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 17 / 34


Algorithmes de tris

Algorithmes de tris
Definition
Un algorithme de tri est, en informatique ou en mathématiques, un
algorithme qui permet d’organiser une collection d’objets selon une relation
d’ordre déterminée.
Les objets à trier sont des éléments d’un ensemble muni d’un ordre total. Il est
par exemple fréquent de trier des entiers selon la relation d’ordre usuelle « est
inférieur ou égal à ».

Exemple
Tri avec relation d’ordre « est Tri avec relation d’ordre
inférieur ou égal à » lexicographique (alphabétique)

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 18 / 34


Algorithmes de tris Tri par comptage

Tri par comptage

Definition
Le tri par comptage (ou tri par dénombrement), est un tri applicable a une
situation particulière :
• Les élément à trié sont des nombres entiers compris entre 0 et k
si k n’est pas très grand, on peut utiliser l’algorithme suivants :
• On crée une liste Compte de taille k+1.
• On remplis Compte par les fréquence de chaque élément e de la liste L,
de façon à avoir dans Compte[e] le nombre d’élément e dans L.
• On utilise le contenu de Compte pour construire une liste resultat des
éléments trié de de L

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 19 / 34


Algorithmes de tris Tri par comptage

Tri par comptage

Exemple

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 20 / 34


Algorithmes de tris Tri par comptage

Tri par comptage : code

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 21 / 34


Algorithmes de tris Tri par comptage

Tri par comptage : exemple code

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 22 / 34


Algorithmes de tris Tri par comptage

Exercices

Exercice 3
Écrire une fonction python, qui prend comme paramètre une liste d’entier L.
et retourne une liste des éléments de L trié dans un ordre croissant.
Remarque : les élément de L peuvent être négatifs.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 23 / 34


Algorithmes de tris Tri par comptage

Solutions
Solution : Exercice 3

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 24 / 34


Algorithmes de tris Tri par comptage

Solutions

Solution : Exercice 3

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 25 / 34


Algorithmes de tris Tri à bulles

Tri à bulles
Definition
Le tri à bulles est un algorithme de tri par comparaison. Il consiste à comparer
répétitivement les éléments consécutifs d’un tableau, et à les permuter
lorsqu’ils sont mal triés. Il doit son nom au fait qu’il déplace rapidement les
plus grands éléments en fin de tableau, comme des bulles d’air qui
remonteraient rapidement à la surface d’un liquide.

Le principe de l’algorithme
L’algorithme parcourt le tableau et compare les éléments consécutifs. Lorsque
deux éléments consécutifs ne sont pas dans l’ordre, ils sont permutés.
Après un premier parcours complet du tableau, le plus grand élément est
forcément en fin de tableau, à sa position définitive.
Il faut donc le parcourir à nouveau, en s’arrêtant à l’avant-dernier élément.
Après ce deuxième parcours, les deux plus grands éléments sont à leur
position définitive. Il faut donc répéter les parcours du tableau, jusqu’à ce que
les deux plus petits éléments soient placés à leur position définitive.
Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 26 / 34
Algorithmes de tris Tri à bulles

Tri à bulles, illustration

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 27 / 34


Algorithmes de tris Tri à bulles

Tri à bulles, Le code

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 28 / 34


Algorithmes de tris Tri par insertion

Tri par insertion

Le principe
Le tri par insertion considère chaque élément du tableau et l’insère à la bonne
place parmi les éléments déjà triés. Ainsi, au moment où on considère un
élément, les éléments qui le précèdent sont déjà triés, tandis que les éléments
qui le suivent ne sont pas encore triés.
Pour trouver la place où insérer un élément parmi les précédents, il faut le
comparer à ces derniers, et les décaler afin de libérer une place où effectuer
l’insertion. Le décalage occupe la place laissée libre par l’élément considéré.
En pratique, ces deux actions s’effectuent en une passe, qui consiste à faire «
remonter » l’élément au fur et à mesure jusqu’à rencontrer un élément plus
petit.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 29 / 34


Algorithmes de tris Tri par insertion

Tri par insertion, illustration

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 30 / 34


Algorithmes de tris Tri par insertion

Tri par insertion, Le code

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 31 / 34


Algorithmes de tris Tri par sélection

Tri par sélection


Le principe
Sur un tableau de n éléments (numérotés de 0 à n-1 , attention un tableau de 5
valeurs (5 cases) sera numéroté de 0 à 4 et non de 1 à 5), le principe du tri par
sélection est le suivant :
• rechercher le plus petit élément du tableau, et l’échanger avec l’élément
d’indice 0 ;
• rechercher le second plus petit élément du tableau, et l’échanger avec
l’élément d’indice 1 ;
• continuer de cette façon jusqu’à ce que le tableau soit entièrement trié.

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 32 / 34


Algorithmes de tris Tri par sélection

Tri par insertion, illustration

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 33 / 34


Algorithmes de tris Tri par sélection

Tri par insertion, Le code

Mirrane Achraf (CPGE) Algorithmes de recherches et algorithmes de tris septembre 2022 34 / 34

Vous aimerez peut-être aussi