3.2.3 Etude de la compléxité
Dans cette section, nous allons étudier la
compléxité, dans le pire des cas, de 
l'algorithme GENALL. Soit O l'ensemble de transaction
d'une base, Y l'ensemble 
d'attributs de la base et F l'ensemble des concepts
trouvés. L'étude de la boucle : 
Pour(ligne 5) donne: 
- L'instruction 6 s'effectue en O(|Y |) étant
donné que dans le pire des cas, nous 
allons effectuer une intersection avec tous les attributs de la
base. 
- L'instruction 7 s'effectue en O(|Y |) puisqu'on ne
peut avoir au maximum que 
|Y | branches. 
- L'instruction 13 peut se faire dans le pire des cas en
O(|O|). 
- La recherche dans la liste L (ligne 14) est
réalisé en O(|F |  
2 ) dans le pire de cas. 
En effet, une iteration peut donner autant de nouveau concept
qu'il y a dans 
|F |. 
- La boucle Pour(ligne 18) peut se repeter au maximum deux
fois. 
- Celle de la ligne 19 se répète |ImmSucc|
fois. 
- La fonction Compare - concept se fait
O(|Y |) 
De ce fait la complexité des instructions 5 - 23 est
O(|F | + 2|Y | + |O| + |F |
 
2 + 
2|Y |.|ImmSucc|). L'instruction 25
s'effectue en O(|ImmSucc|), alors que la 
complexité de l'instruction 28 vaut O(|Y | +
|liste - gen|). Par conséquent la 
complexité du bloc des instructions (25 - 34) vaut : 
O(|F |  
2 * |ImmSucc|2.(|Y
| + |liste - gen|)). 
Etant donné que notre algorithme se répète
|K| fois (la première boucle Pour 
de la ligne 3 ). Il vient alors que la compléxité
totale de l'algorithme est : 
O(|K|.|F |[1 2 *
|ImmSucc|2.(|Y | + |liste
- gen|) + |K| + |F |  
2 ]).[13] 
 |