Les algorithmes de tris rapides
Principes généraux de “diviser pour régner”
Les algorithmes de tris rapides
Comparaison de complexité de différentes méthodes de tris
Chapitre 2
Les algorithmes de tris rapides
Module 2: Programmation avancée Python–2ème année–
MP
Texte
Texte
Texte
Pr. Amar MERDANI merdani.amar@gmail.com 4 septembre 2022
Module 2: Programmation avancée Python–2ème année– CPGE IBN TAHIR ERRACHIDIA 2022-2023 1/ 32Les algorithmes …afficher plus de contenu…
On continue de trier jusqu’à ce qu’il n’y ait plus de permutation.
La fonction TriBulle(T) def TriBulle(T) : n=len(T) inversion=True : while inversion==True : inversion=False for i in range(n-1) : if T[i]>T[i+1] :
#Permutation
c=T[i]
T[i]=T[i+1] …afficher plus de contenu…
TextT3=[]
Texti1=0
Texti2=0
Texti3=0
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Texte
Module 2: Programmation avancée Python–2ème année– CPGE IBN TAHIR ERRACHIDIA 2022-2023 12/ 32Les algorithmes de tris classiques
Principes généraux de “diviser pour régner”
Les algorithmes de tris rapides
Comparaison de complexité de différentes méthodes de tris
Tri fusion
Tri rapide
Implémentation de l’algorithme de tri fusion
Tri fusion -Solution 1-
Programme récursif Tri Fusion(T) def Tri Fusion(T) : if len(T)<=1 : return T
T1=[T[i] for i in range(len(T)//2)]#Pour générer la liste T1=T[0 :len(T)//2]
T2=[T[i] for i in range(len(T)//2,len(T))] return Fusion(Tri Fusion(T1),Tri Fusion(T2))
⇒Exemple :
>>>T=[10,39,21,2,8,6,1]
>>>T=Tri