Vous êtes sur la page 1sur 15

Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Chapitre2:

Paradigme diviser pour régner

Dr S.Balbal

2023-2024

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 1 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Contenu

1 Introduction

2 Exemple: Tri fusion (Merge sort)

3 Diviser pour régner


Principe général
Schéma général
Analyse des algorithmes « diviser pour régner »
Théorème maître

4 Applications
Recherche dichotomique
Recherche maximum (Minumum)
Tri rapide Quicksort
Multiplication de matrice

5 Recommandations

6 Conclusion

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 2 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Introduction

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 3 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Introduction

Diviser pour régner;


Diviser pour Résoudre;
Divide and Conquer

Diviser pour régner: méthode algorithmique utilisée pour obtenir une meilleur
complexité que des algorithmiques plus ’naïfs’ (...).

Le principe de la méthode diviser pour régner est de diviser le problème en des


sous-problèmes et de recombiner les solutions obtenues (’régner’).

La base de ce type d’algorithmes est la récursivité.

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 4 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Exemple: Tri fusion (Merge sort)

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 5 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Exemple: Tri fusion

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 6 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Algorithme : Tri fusion

1 Partager la liste en deux sous listes,


2 Trier ces sous listes récursivement,
3 Fusionner ces sous listes triées en une liste triée.

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 7 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Algorithme : fusion

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 8 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Exécution d’un exemple

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 9 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Complexité: Tri fusion

Complexité:
Soit T(n) la complexité de TriFusion et F(n) la complexité de fusion. Alors
T(1)= o(1)
T(n)= 2T(n/2) + F(n) , n > 1

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 10 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Complexité: fusion

F(n)= n1+n2 = O(2 ∗ n/2) = O(n)

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 11 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Calcul du complexité:

T(1)=1
T(n)= 2T(n/2) +n , n > 1

T (n) = O(nlogn)

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 12 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Exemple: Tri fusion ( Fusion :récursif)

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 13 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Exemple: Tri à bulles (Bubble sort)

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 14 / 42


Introduction Exemple: Tri fusion (Merge sort) Diviser pour régner Applications Recommandations Conclusion

Comparaison tri fusion & tri à bulles

Complexité:

Tri fuion = O(nlogn)


Tri à bulles = O(n2 )

Tri fuion est le moins complexe.


nlogn = O(n2 )

Exécution:
Exécution fichier tri.py

Dr S.Balbal AAC Chapitre2: Paradigme diviser pour régner 2023-2024 15 / 42

Vous aimerez peut-être aussi