Explication sur les fréquences
Bonjour à tous,
je suis tombé sur un algo pas très compliqué, mais j'ai du mal à comprendre l'explication de fréquence, voici l'ago:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
public static int count(int[] a) {
int n = a.length;
int count = 0;
for (int i = 0; i < n; i++) {
1] for (int j = i+1; j < n; j++) {
2] for (int k = j+1; k < n; k++) {
3] if (a[i] + a[j] + a[k] == 0) {
count++;
}
}
}
}
return count;
} |
et ils expliquent que les fréquences de calcul pour les 1], 2], 3] ème lignes sont:
1] N
2] N^2 / 2 - N/2
3] N^3/6 - N^2/2 + N/3
Je me demande pourquoi N^2 est divisé par 2, le N^3 par 6 et N par 3
Ensuite pourquoi c'est N^3/6 - N^2/2 et pas N^3/6 + N^2/2 alors que c'est +N/3 ?
Merci beaucoup :-)
Adrien