Divide and Conquer est un modèle algorithmique. Dans les méthodes algorithmiques, la conception consiste à prendre un différend sur une entrée énorme, à diviser l'entrée en éléments mineurs, à résoudre le problème sur chacun des petits éléments, puis à fusionner les solutions par morceaux en une solution globale. Ce mécanisme de résolution du problème est appelé la stratégie Divide & Conquer.
L’algorithme Divide and Conquer consiste en une dispute utilisant les trois étapes suivantes.
En général, nous pouvons suivre le diviser et conquérir approche en trois étapes.
Exemples: Les algorithmes informatiques spécifiques sont basés sur l’approche Divide & Conquer :
- Problème maximum et minimum
- Recherche binaire
- Tri (tri par fusion, tri rapide)
- La tour de Hanoi.
Fondamentaux de la stratégie Divide & Conquer :
Il y a deux principes fondamentaux dans la stratégie Divide & Conquer :
- Formule relationnelle
- Condition d'arrêt
1. Formule relationnelle : C'est la formule que nous générons à partir de la technique donnée. Après la génération de la formule, nous appliquons la stratégie D&C, c'est-à-dire que nous résolvons le problème de manière récursive et résolvons les sous-problèmes résolus.
2. Conditions d'arrêt : Lorsque nous résolvons le problème en utilisant la stratégie Divide & Conquer, nous devons alors savoir que pendant combien de temps nous devons appliquer Divide & Conquer. Ainsi, la condition dans laquelle il est nécessaire d'arrêter nos étapes de récursion de D&C est appelée condition d'arrêt.
Applications de l’approche Diviser pour régner :
Les algorithmes suivants sont basés sur le concept de la technique Divide and Conquer :
Avantages de diviser pour régner
- Divide and Conquer a tendance à résoudre avec succès l'un des plus gros problèmes, comme la Tour de Hanoï, un casse-tête mathématique. Il est difficile de résoudre des problèmes compliqués pour lesquels vous n'avez aucune idée de base, mais avec l'aide de l'approche diviser pour régner, l'effort a été réduit car il s'agit de diviser le problème principal en deux moitiés, puis de les résoudre de manière récursive. Cet algorithme est beaucoup plus rapide que les autres algorithmes.
- Il utilise efficacement la mémoire cache sans occuper beaucoup d'espace, car il résout de simples sous-problèmes au sein de la mémoire cache au lieu d'accéder à la mémoire principale, plus lente.
- Il est plus efficace que celui de son homologue, la technique Brute Force.
- Ces algorithmes inhibant le parallélisme, celui-ci n’implique aucune modification et est géré par des systèmes intégrant un traitement parallèle.
Inconvénients de diviser pour régner
- Étant donné que la plupart de ses algorithmes sont conçus en incorporant la récursion, cela nécessite une gestion élevée de la mémoire.
- Une pile explicite peut abuser de l'espace.
- Cela peut même faire planter le système si la récursivité est effectuée avec une rigueur supérieure à celle de la pile présente dans le CPU.