CHAPITRE 1. THÉORIE DE LA COMPLEXITÉ ET MESURE DE PERFORMANCE 
 
 
6 
 
    I : instructions (traitements).  
Ces règles forment une partition de l’univers:  
- U des règles = tous les cas possibles.  
- ∩ =Ø  
→ L’algorithme ne doit pas oublier un cas, et on ne peut pas être dans deux cas à la fois. 
 
Exemple 1 : trouver le maximum d’un tableau T 
 
A. Façon abstraite d’un algorithme 
Une fois qu’on a compris ce qu’on vient de faire, on peut l’abstraire :  
-  On considère le premier élément du tableau comme maximum,  
-  Si on trouve un élément plus grand que lui, c’est notre nouveau maximum  
- Une fois que nous avons tout parcouru, nous renvoyons notre dernier maximum :  
rien trouvé de plus grand  
 
B. Les règles trouvées 
- Max(T, n, i, max) = Max(T, |T|, 2, T[1]))} 
- i ≤ n ^ T[i] > max → Max(T, n, i, max) = Max(T, n, i+1, T[i])  
- Si je n’ai  pas parcouru  tout le  tableau et  que l’élément actuel est supérieur au max, 
c’est le nouveau max.  
- i ≤ n ^ T[i] ≤ max → Max(T, n, i, max) = Max(T, n, i+1, max)  
- Si mon élément  actuel  n’est pas supérieur au max,  alors je continue simplement  de 
parcourir.  
- i > n → Max(T, n, i, max) = max Si j’ai parcouru tout le tableau, je renvoie le max.  
 
C. Ces règles forment une partition de l’univers 
- L’union de ces règles, donne tous les cas possible :  
(i > n)  (i ≤ n ^ T[i] > max)  (i ≤ n ^ T[i] ≤ max) = {i, T[i]}  
- L’intersection des règles deux à deux, donne l’ensemble vide :  
(i ≤ n ^ T[i] > max)  (i ≤ n ^ T[i] ≤ max) = {}, l’élément ne peut pas être à la fois plus 
petit et plus grand.  
- (i > n)  (i ≤ n ^ T[i] ≤ max) = {}, on ne peut pas être à la fois dans le tableau et hors du 
tableau.  
Donc l’algorithme ne peut pas être dans deux cas à la fois. 
 
1.1. Quelques problèmes algorithmiques classiques 
   
– Le problème de tri d’un ensemble d’éléments selon une relation d’ordre (croissant ou 
décroissant), avec un milliard d’éléments. 
– Le problème de la Recherche pertinente dans des grandes bases de données.