CER SCHMITT Mathieu
Algo. Tri/Recherche Page 1
Prosit aller : Quelle galère
Objectifs :
- Savoir manipuler des données avec les Algorithmes
Définition des mots-clés :
- Algorithme :
On désigne par algorithmique ou algorithmie l’ensemble des activités logiques qui relèvent des
algorithmes. Dans le cas général, l’algorithmique s’effectue au moyen de calculs.
- Classeur :
Un classeur en informatique permet de classer des donner. Par exemple, sous Excel, un classeur
permet d’effectuer des opérations comme classement, tri,…
- Algorithme de Tri :
En informatique ou en mathématiques, un algorithme de tri est un algorithme qui permet
d'organiser une collection d'objets selon un ordre déterminé. Les objets à trier font donc partie d'un
ensemble muni d'une relation d'ordre (de manière générale un ordre total). Les ordres les plus
utilisés sont l’ordre numérique et l'ordre lexicographique (dictionnaire).
CER SCHMITT Mathieu
Algo. Tri/Recherche Page 2
- Automate :
Dans le domaine de l'informatique ou des graphes, on nomme automate une machine à traiter de
l'information qui se caractérise par :
o différents états
o un système de transition d'états qui absorbe soit des caractères, soit des entités
syntaxiques d'ordre supérieur (variable, entier, flottant, etc.)
On peut définir les automates par des modèles formels (voir aussi : automate fini, automate à pile,
machine de Turing). La grande relation entre l'automate et l'informatique c'est d'avoir créé une
intelligence artificielle et cette dernière c'est l'ensemble des programmes informatiques existants.
- Programme informatique :
Un programme informatique est une succession d'instructions exécutable par l'ordinateur. Toutefois,
l'ordinateur ne sait manipuler que du binaire, c'est-à-dire une succession de 0 et de 1. Il est donc
nécessaire d'utiliser un langage de programmation pour écrire de façon lisible, c'est-à-dire avec des
instructions compréhensibles par l'humain car proches de son langage, les instructions à exécuter par
l'ordinateur.
- Données :
Informations utilisées par un logiciel. Elles peuvent être créées par l'utilisateur ou par le programme
lui-même.
Axes de recherche :
Etudier les algorithmes de trie et leurs contextes
Permuter deux valeurs
Pour trier les valeurs d'un tableau, il va être nécessaire de permuter les valeurs contenues dans les
différentes cases du tableau. Pour cela, une fonction de permutation, qui sera appelée "echanger",
doit être écrite. Cette fonction prend en argument un tableau et deux entiers i et j. Elle récupère la
valeur contenue dans la iième case du tableau, affecte à cette case la valeur contenue dans la jième
case, puis affecte à la jième case l'ancienne valeur de la iième case.
CER SCHMITT Mathieu
Algo. Tri/Recherche Page 3
Exemple :
Considérons le tableau T suivant [1;4;3;2;5] dans lequel la permutation des valeurs contenues dans la
première et la troisième case va être effectuée (la première case du tableau portant l'indice 0). Soit
i=1 et j=3.
Etape 1 : Mémorisation de la valeur contenue dans la case i=1 : M=T(i)=T(1)=4
Etape 2 : Affectation à la iième case de la valeur de la jième case: T(i)=T(j)=T(3)=2. Soit T=[1;2;3;2;5]
Etape 4 : Affectation à la jième case de la valeur contenue dans la mémoire M : T(j)=M. Soit
T=[1;2;3;4;5]
C'est ce qu'il fallait obtenir.
Code source :
Le tri à bulle
L'algorithme du tri bulle - ou bubble sort - consiste à regarder les différentes valeurs adjacentes d'un
tableau, et à les permuter si le premier des deux éléments est supérieur au second. L'algorithme se
déroule ainsi : les deux premiers éléments du tableau sont comparés, si le premier élément est
supérieur au second, une permutation est effectuée. Ensuite, sont comparés et éventuellement
permutés les valeurs 2 et 3, 3et 4 jusque (n-1) et n. Une fois cette étape achevée, il est certain que le
dernier élément du tableau est le plus grand. L'algorithme reprend donc pour classer les (n-1)
éléments qui précédent. L'algorithme se termine quand il n'y a plus de permutations possibles. Pour
classer les n valeurs du tableau, il faut, au pire, effectuer l'algorithme n fois.
Cet algorithme porte le nom de tri bulle car, petit à petit, les plus grands éléments du tableau
remontent, par le jeu des permutations, en fin de tableau. Dans un aquarium il en va de même : les
plus grosses bulles remontent plus rapidement à la surface que les petites qui restent collés au fond.
Algorithme de permutation
échanger(tableau T, entier i, entier j)
début
entier M
M<-T(i)
T(i)<-T(j)
T(j)<-M
fin
CER SCHMITT Mathieu
Algo. Tri/Recherche Page 4
Exemple :
Evolution du tableau au fil de l'algorithme (en bleu, les éléments qui sont comparés, et
éventuellement permutés, pour passer à la ligne suivante).
Code source :
Algorithme de tri à bulle
tri_bulle(tableau T)
debut
entier longueur, i
booleen inversion
longueur<-taille(T)
faire
inversion=faux
pour i=0 à (longueur-1)
si T(i)>T(i+1)
echanger(T,i,i+1)
inversion<-vrai
fin si
fin pour
tantque inversion
fin
CER SCHMITT Mathieu
Algo. Tri/Recherche Page 5
Tri par sélection
Le tri par sélection est l'un des tris les plus instinctifs. Le principe est que pour classer n valeurs, il
faut rechercher la plus grande valeur et la placer en fin de liste, puis la plus grande valeur dans les
valeurs restante et la placer en avant dernière position et ainsi de suite...
Considérons un tableau à n éléments. Pour effectuer le tri par sélection, il faut rechercher dans ce
tableau la position du plus grand élément. Le plus grand élément est alors échangé avec le dernier
élément du tableau. Ensuite, on réitère l'algorithme sur le tableau constitué par les (n-p) premiers
éléments où p est le nombre de fois où l'algorithme a été itéré. L'algorithme se termine quand p=(n-
1), c'est à dire quand il n'y a plus qu'une valeur à sélectionner ; celle ci est alors la plus petite valeur
du tableau.
Exemple
Grandes étapes de l'évolution du tableau au fil de l'algorithme. En bleu, les valeurs déja traitées.
1 / 16 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !