La Question
Comment trouver le temps de la complexité d'un algorithme?
Qu'ai-je fait avant de poster une question sur ?
Je suis passé par le ce, cet, cette , et beaucoup d'autres liens
Mais pas où j'ai été en mesure de trouver un clair et simple explication de comment calculer le délai de la complexité.
Que sais-je ?
Dire pour un code aussi simple que celui ci-dessous:
char h = 'y'; // This will be executed 1 time
int abc = 0; // This will be executed 1 time
Dire pour une boucle comme celle ci-dessous:
for (int i = 0; i < N; i++) {
Console.Write('Hello World !');
}
int i=0; Ce sera exécutée qu' une fois.
Le temps est en fait calculée à l' i=0
, et non de la déclaration.
i < N; Ce sera exécutée N+1 fois
i++ ; Ce sera exécutée N fois
Ainsi, le nombre d'opérations nécessaires à cette boucle sont
{1+(N+1)+N} = 2N+2
Remarque: Cette encore peut-être tort, comme je ne suis pas confiant quant à ma compréhension sur le calcul de l'heure de la complexité
Ce que je veux savoir ?
Ok, donc ces petits calculs de base, je pense que je le sais, mais dans la plupart des cas j'ai vu de la complexité en temps
O(N), O(n2), O(log n), O(n!).... et beaucoup d'autres,
Quelqu'un peut-il m'aider à comprendre comment peut-on calculer le temps de la complexité d'un algorithme? Je suis sûr qu'il ya beaucoup de débutants comme moi de vouloir le savoir.
Merci d'avance