Je suis un peu confus, j'ai fait des recherches sur la complexité du temps Big O pendant quelques heures maintenant et lire tous les articles ici.Qu'est-ce que le Big O, limite supérieure de ce code
int myfunc(int n)
{ int result = 0;
for (int i = 0; i<n; i++)
for (int j = i; j>0; j--)
if (i%j == 0)
result += j;
return result;
}
J'ai reçu ce code et je souhaite trouver la limite supérieure de ce code. Maintenant, d'après ce que j'ai appris jusqu'à présent, je suppose que la limite supérieure est O (n^2) parce que c'est une boucle imbriquée. Cependant parce que J est lié à I; Je me demande si ce code est réellement O (n log n), je dois dire que je ne comprends pas complètement le concept de O (n log n). Cependant, je comprends toutes les autres notations telles que ... O (1), O (n), O (log n), O (n^2), O (n!).
Je dirais que 'O (n^2)' parce que les plus grandes valeurs de '' I' et j' sont à la fois 'n-1' –
@ cricket_007 Oui, je pensais que cela aussi, je vous remercie de votre entrée – recurf