Vous êtes sur la page 1sur 4

Partie : Les Méthode de Tri Lycée Borjcedria Classe : 4 S. Info Algorithmique Prof : Mr Sallem Med Fares A.S.

: 2023-2024

Séance Fiche Cours Les Méthode de Tri


Le tri d’un tableau :
❖ Tri à bulles d’un tableau de n entiers :
Procédure tribulles ( @t : tab , n : entier) T.D.O. Locaux
Début Objets Nature / Type
Répéter i Entier
echange  faux echange Booléen
Pour i de 0 à n -2 faire permuter procédure
Si t[ i ] > t[ i+1 ] alors
Procédure permuter ( @t : tab , a , b : entier )
permuter ( t , i , i+1 )
Début
echange  vrai aux  t [ a ]
Finsi t[a]t[b]
Finpour t [ b ]  aux
n  n-1 fin
Jusqu’à ( echange = faux ) ou ( n = 0 ) T.D.O. Locaux
Fin Objets Nature / Type
aux Entier
❖ Le tri par insertion croissant d’un tableau :
Voici l’algorithme de Tri par insertion croissant sur un tableau t de n entiers.
Procédure tri_insertion (@t : tab , n : entier) T.D.O.Locaux
Début Objets Nature/Type
Pour i de 1 à n-1 faire i , aux ,p entier
aux  t[i]
p i ✓ Notez bien :
Tantque ( t[p -1] > aux) et (p > 0) Faire La variable « p » représente la position
t[p]  t[p - 1] d’insertion à rechercher où à la fin la valeur
pp-1 « aux » sera placée
Fintantque
t[p]  aux
finpour
Fin
❖ implémentation en python : « tri_insertion.py »
from numpy import* #------------------------------------------------------#
from random import randint def tri_insertion(t,n):
#--------------------------------------------------------# for i in range(1,n):
t=array([0]*100 , int) aux=t[i]
#--------------------------------------------------------# p=i
def saisir(): while(t[p-1]>aux)and(p>0):
n=int(input("Donner n entre 5 et 30 : ")) t[p]=t[p-1]
while not(5<=n<=30): p-=1
n=int(input("Donner n entre 5 et 30 : ")) t[p]=aux
return n #------------------------------------------------------#
#--------------------------------------------------------# #--------------- P.P. Tri insertion ---------------#
def remplir(t,n): n=saisir()
for i in range(n): remplir(t,n)
t[i]=randint(1,100) print("\n *** AFFICHAGE DE T initial ***")
#--------------------------------------------------------# affichtab(t,n)
def affichtab(t,n): tri_insertion(t,n)
for i in range(n): print("\n\n AFFICHAGE DE T trié Final ")
print(t[i],end=" | ") affichtab(t,n)
#--------------------------------------------------------# #------------------------------------------------------#
❖ Le tri par insertion croissant d’une chaine :
Voici l’algorithme de Tri par insertion croissant sur un tableau t de n entiers.
Procédure tri_insertion (@ch : chaine) T.D.O.Locaux
Début Objets Nature/Type
Pour i de 1 à long(ch)-1 faire i , aux ,p entier
aux  ch[i]
p i Notez bien :
Tantque ( ch[p -1] > aux) et (p > 0) On remplacera uniquement :
Faire ✓ n par long(ch)
ch[p]  ch[p - 1] ✓ t[i] par ch[i]
pp-1 ✓ t[p] par ch[p]
Fintantque ✓ t[p-1] par ch[p-1]
ch[p]  aux
finpour
Fin
❖ implémentation en python : « tri_insertion_ch.py »
#Programme Tri insertion d'une chaine #----------------------------------------------------------#
from numpy import* def tri_insertion(ch):
#----------------------------------------------------# for i in range(1,len(ch)):
def saisirch(): aux=ch[i]
ch=input("Donner ch de taille minimale 5: ") p=i
while len(ch)<5: while(ch[p-1]>aux)and(p>0):
ch=input("Donner ch de taille minimale 5: ") ch = ch[:p] + ch[p-1] + ch[p+1:]
return ch p-=1
#-----------------------------------------------------# ch = ch[:p] + aux + ch[p+1:]
return ch
#----------------------------------------------------------#
#---------- P.P. Tri insertion -------------------------#
ch=saisirch()
print("\n AFFICHAGE ch initiale :\n>>> ",ch)
ch=tri_insertion(ch)
print("\n AFFICHAGE ch triée :\n>>> ",ch)
#---------------------------------------------------------#

Vous aimerez peut-être aussi