Bonjour
La complexité d'un code correspond à son temps d'exécution.
C'est assez scolaire et les recruteurs aiment bien poser des tests de ce genre.
J'ai donc fait ce code :
Code : Tout sélectionner
function aTester(n) {
var k=0;
for (var i = 1; i<=n; i++)
{
for(var j = 1; j <= i; j++)
{
k++;
//Some code
}
}
console.log("pour n = "+n+" - complexite = "+k);
}
for (var t=0; t<=100; t=t+10) {
aTester(t);
}
Le retour est :
pour n = 0 - complexite = 0
pour n = 10 - complexite = 55
pour n = 20 - complexite = 210
pour n = 30 - complexite = 465
pour n = 40 - complexite = 820
pour n = 50 - complexite = 1275
pour n = 60 - complexite = 1830
pour n = 70 - complexite = 2485
pour n = 80 - complexite = 3240
pour n = 90 - complexite = 4095
pour n = 100 - complexite = 5050
Donc, la complexite est équivalente à N*(N/2). Ce qui est cohérent avec la boucle imbriquée du départ.