algorithmique (école d'ingénieur) · Chapitre 10 · Exercice de TD
Boucles logarithmiques
Complexité des programmes · niveau 1 (application)
Énoncé
Donner le nombre exact de tours de chacune des boucles suivantes (), puis sa complexité.
for (int i = n; i > 0; i = i / 2) c++; // (1)
for (int i = 1; i * i <= n; i++) c++; // (2)
for (int j = 1; j < n; j = 3 * j) c++; // (3)
for (int i = 1; i < n; i = 2 * i) // (4)
for (int j = 0; j < n; j++) c++;Corrigé
- vaut , , , …, puis : la boucle fait tours, complexité .
- La boucle tourne tant que : tours, complexité .
- vaut tant que : tours, complexité (la base du logarithme ne change pas l'ordre de grandeur).
- tours externes de tours internes chacun : exécutions, complexité .
Le programme Boucles.java confirme ces formules, par exemple pour : , , et tours.
100 % gratuit
La suite du chapitre est sur Adloun
- 11 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.