2015-10-23 1 views
-3

Quelle serait la durée de fonctionnement? Je suis O (n^2)Durée de l'algorithme

`cin >> n; 
min = 2*n; 
max = (n+3)*10; 

for(int i=0; i<1000; i++) 
    for(int j =0; j<n; j++) 
     for(int k = min; k< max;k++) 
      p = f+c+m 

`

Répondre

1

Peu importe ce que la boucle extérieure tourne 1000 times..so la complexité ~ O(n^2). [exécute la plus interne 10n+30-2n = 8n+30 fois et boucle avec j variables pistes n fois ..]

1

Le nombre de fois p est calculé est:

1000 * n * (max - min) 
= 1000 * n * ((n + 3)*10 - 2*n) 
= 1000 * n * (10*n + 30 - 2*n) 
= 1000 * n * (8*n + 30) 
= 8000 * n^2 + 30000 * n 

Oui, il est O (n^2).