Le document décrit différentes méthodes de tri, notamment le tri à bulles et le tri par insertion, sur des tableaux d'entiers et des chaînes de caractères. Il présente les algorithmes avec leurs procédures et leur implémentation en Python.
0 évaluation0% ont trouvé ce document utile (0 vote)
8 vues4 pages
Le document décrit différentes méthodes de tri, notamment le tri à bulles et le tri par insertion, sur des tableaux d'entiers et des chaînes de caractères. Il présente les algorithmes avec leurs procédures et leur implémentation en Python.
Le document décrit différentes méthodes de tri, notamment le tri à bulles et le tri par insertion, sur des tableaux d'entiers et des chaînes de caractères. Il présente les algorithmes avec leurs procédures et leur implémentation en Python.
Le document décrit différentes méthodes de tri, notamment le tri à bulles et le tri par insertion, sur des tableaux d'entiers et des chaînes de caractères. Il présente les algorithmes avec leurs procédures et leur implémentation en Python.
Téléchargez comme PDF, TXT ou lisez en ligne sur Scribd
Télécharger au format pdf ou txt
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 pp-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] pp-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) #---------------------------------------------------------#