Rapport - Methode de Tri
Rapport - Methode de Tri
Rapport - Methode de Tri
PRÉNOM : ABDELJALIL
1.Tri à bulle:
Le tri à bulle consiste à parcourir le tableau, par exemple de gauche à droite, en
comparant les éléments côte à côte et en les permutant s'ils ne sont pas dans le bon
ordre. Au cours d'une passe du tableau, les plus grands éléments remontent de proche
en proche vers la droite comme des bulles vers la surface.
Algorithme:
Algorithme triBulle
(var T : tab , N : entier) ;
déclaration
i ,temp; entier ;
trie : booléeca
début
trié← faux ;
tant que trie= faux faire // itération sur les
passages
trie← vrai ;
pour (i de 1 à N-1) faire
si (T[i] > T[i+1]) alors
tem<- T[i]; T[i] <- T[i+1]; T[i+1] <- temp;
trie ← faux;
finpour
finTQ
FIN
Python:
def tri_bulle(tab):
n = len(tab)
# Traverser tous les éléments du tableau
for i in range(n):
for j in range(0, n-i-1):
le # échanger si l'élément trouvé est plus grand que le suivant
if tab[j] > tab[j+1] :
tab[j], tab[j+1] = tab[j+1], tab[j]
# Programme principale pour tester le code ci-dessus
tab = [10,50,20,40,15,30,17,32,21,23,12]
tri_bulle(tab)
jeu de test:
Le Le tri par sélection (ou tri par extraction) est un algorithme de tri par comparaison. Cet
algorithme est simple, mais considéré comme inefficace car il s'exécute en temps
quadratique en le nombre d'éléments à trier, et non en temps pseudo linéaire.
Algorithme:
DEBUT
i←1
tant que i<longueur(t): //boucle 1
j←i+1
min←i
tant que j<=longueur(t): //boucle 2
si t[j]<t[min]:
min←j
fin si
j←j+1
fin tant que
si min≠i :
échanger t[i] et t[min]
fin si
i←i+1
fin tant que
FIN
Python:
def tri_selection(tab):
for i in range(len(tab)):
# Trouver le min
min = i
for j in range(i+1, len(tab)):
if tab[min] > tab[j]:
min = j
tmp = tab[i]
tab[i] = tab[min]
tab[min] = tmp
return tab
# Programme principale pour tester le code ci-dessus
tab = [98, 22, 15, 32, 2, 74, 63, 70]
tri_selection(tab)
jeu de test:
3.Tri per insertion:
Le tri par insertion c’est la methode qu’utilise naturellement l’être humain pour trier des
objets comme par exemple des cartes à jouer.
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.
Algorithme:
Python:
def tri_insertion(tab):
# Parcour de 1 à la taille du tab
for i in range(1, len(tab)):
k = tab[i]
j = i-1
while j >= 0 and k < tab[j] :
tab[j + 1] = tab[j]
j -= 1
tab[j + 1] = k
# Programme principale pour tester le code ci-dessus
tab = [98, 22, 15, 32, 2, 74, 63, 70]
tri_insertion(tab)
print ("Le tableau trié est:")
for i in range(len(tab)):
print ("% d" % tab[i])
jeu de test: