Pour les devoirs, on m'a donné les 8 fragments de code suivants pour analyser et donner une notation Big-Oh pour la durée de fonctionnement. Quelqu'un peut-il me dire si je suis sur la bonne voie?Big O Notation Devoirs - Analyse des algorithmes de fragment de code?
//Fragment 1
for(int i = 0; i < n; i++)
sum++;
Je pense O (N) pour le fragment 1
//Fragment 2
for(int i = 0; i < n; i+=2)
sum++;
O (N) pour le fragment 2 ainsi
//Fragment 3
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
sum++;
O (N^2) pour le fragment 3
//Fragment 4
for(int i = 0; i < n; i+=2)
sum++;
for(int j = 0; j < n; j++)
sum++;
O (N) pour le fragment 4
//Fragment 5
for(int i = 0; i < n; i++)
for(int j = 0; j < n * n; j++)
sum++;
O (N^2) pour le fragment 5 mais le n * n me jetant un peu, donc je ne suis pas tout à fait sûr
//Fragment 6
for(int i = 0; i < n; i++)
for(int j = 0; j < i; j++)
sum++;
O (N^2) pour le fragment 6 comme bien
//Fragment 7
for(int i = 0; i < n; i++)
for(int j = 0; j < n * n; j++)
for(int k = 0; k < j; k++)
sum++;
O (N^3) pour le fragment 7 mais encore une fois le n * n me secouer
//Fragment 8
for(int i = 1; i < n; i = i * 2)
sum++;
O (N) pour le fragment 8
Je ne suis pas d'accord avec le commentaire "trop localisé". Calculer Big-Oh est une partie centrale de l'analyse algorithmique. Exemples de codes spécifiques avec des estimations de Big-Oh peuvent être extrêmement précieux pour les gens qui essaient de parler couramment dans ce domaine. – JESii