Académique Documents
Professionnel Documents
Culture Documents
Mirrane Achraf
septembre 2022
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
Introduction
Algorithmes de recherches
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.
Recherche séquentielle
une fonction qui retourne True si l’élément x est présent dans L, et False sinon.
Recherche séquentielle
Ou encore meilleur, on retourne True dès qu’on trouve l’élément.
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.
Correction
Exercice 1 : Solution
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
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.
Recherche dichotomique
Exemple 1
Exemple 2
Recherche dichotomique
une fonction qui retourne vrai si l’élément x est présent dans L, et faux sinon.
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.
Correction
Exercice 1 : Solution
Correction
Exercice 1 : Solution
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)
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
Exemple
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.
Solutions
Solution : Exercice 3
Solutions
Solution : Exercice 3
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
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.