Help je ne comprend pas cet algorythme !!

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
RachelGreen
Messages : 3
Enregistré le : 30 oct. 2020, 01:17

Help je ne comprend pas cet algorythme !!

Message par RachelGreen » 11 nov. 2020, 12:52

Désolé de vous dérangez...
Je fais un test pour une entreprise.
J'ai fais tout les exercices mais il y a cet algorythme que je ne comprend pas, pouvez vous m'aider s'iiil voulus plaiiiit :cry: C'est une boucle :

for (i = 1; i<=n; i++)
{
for(j = 1; j <= i; j++)
{
//Some code
}
}

Il me demande quelle est la complexité du code ?
Merci pour vos réponses :)))

Avatar du membre
webmaster
Administrateur du site
Messages : 396
Enregistré le : 28 févr. 2017, 15:19

Re: Help je ne comprend pas cet algorythme !!

Message par webmaster » 13 nov. 2020, 11:58

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.
TJS : 20 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

je-commence-demain
Messages : 13
Enregistré le : 26 juin 2020, 13:03

Re: Help je ne comprend pas cet algorythme !!

Message par je-commence-demain » 24 nov. 2020, 11:19

Bonjour,
Moi non plus je n'ai pas tout compris ! c'est super poussé comme analyse. Il faut que je prenne le temps de regarder plus près, cela m'intrigue.

Répondre