1$\text{Algorithmique}$
$\text{Branche de l'informatique dédié à l'étude des techniques de conception algorithmique}$
2$\text{Paradigmes algorithimiques}$
$\text{Techniques de conception algorithmique}$
3$\text{Schéma d'un algorithme diviser pour régner}$
$\begin{cases}\text{Diviser} \\ \text{Régner} \\ \text{Rassembler / Fusion}\end{cases}$
4$\text{Étape "Diviser" d'un algorithme DPR}$
$\text{On décompose le problème en plusieurs sous-problèmes de même nature et indépendants}$
5$\text{Étape "Régner" d'un algorithme DPR}$
$\text{On résout les sous-problèmes récursivement jusqu'à atteindre un cas de base}$
6$\text{Étape "Rassembler / Fusion" d'un algorithme DPR}$
$\text{On construit la solution du problème en combinant celles des sous-problèmes}$
7$\text{Relation de récurrence vérifier par la complexité d'un algorithme DPR}$
$T(n) = aT(\frac{n}{b}) + O(f(n))$
8$\text{Compléxité d'un algorithme vérifiant : } T(n) = T(\frac{n}{2}) + O(1)$
$T(n) = O(ln(n))$
9$\text{Compléxité d'un algorithme vérifiant : } T(n) = 2T(\frac{n}{2}) + O(1)$
$T(n) = O(n)$
10$\text{Compléxité d'un algorithme vérifiant : } T(n) = 2T(\frac{n}{2}) + O(n)$
$T(n) = O(n \times ln(n))$
11$\text{Algorithme naïf}$
$\text{Algorithme le plus évident pour résoudre un problème donné}$