Croissance d'un algorithme : nombre d'opérations
Pourquoi un programme qui marche pour 100 éléments s'effondre-t-il pour 100 000 ? Saisissez n et la vitesse de votre machine pour comparer les grandes familles de croissance.
- Taille n
- 1 000
- Vitesse supposée
- 1 000 000 000 opérations par seconde
| Complexité | Opérations | Durée |
|---|---|---|
| O(1) | 1 | 1 ns |
| O(log n) | 10 | 9,97 ns |
| O(n) | 1 000 | 1 µs |
| O(n log n) | 9 966 | 9,97 µs |
| O(n²) | 1 000 000 | 1 ms |
| O(n³) | 1 000 000 000 | 1 s |
| O(2^n) | 1,07 × 10³⁰¹ | 3,4 × 10²⁸⁴ ans |
Comment ça se calcule
Pour chaque classe de complexité, l'outil évalue la formule pour votre n (log n en base 2, n log n, n au carré, au cube, 2 puissance n) puis divise par le nombre d'opérations par seconde que vous indiquez. Ce sont des ordres de grandeur : les constantes réelles d'un programme ne sont pas prises en compte.
Questions fréquentes
Que signifie la notation O(n²) ?
Que le nombre d'opérations croît comme le carré de la taille : doubler les données multiplie le travail par quatre.
Pourquoi O(2^n) est-il inutilisable ?
Parce qu'il double à chaque élément ajouté. Dès quelques dizaines d'éléments, la durée dépasse tout ce qu'une machine peut calculer.
Cas fréquents
Des exemples déjà remplis, avec leur explication :
- Complexité pour n égal 100 : tout reste rapide
- Complexité pour un million d'éléments
- Explosion exponentielle pour n égal 50
- Une machine dix fois plus rapide change-t-elle tout ?
Intégrer cet outil sur votre site
Les résultats sont fournis à titre indicatif. Pour aller plus loin, découvrez les sites de la catégorie Sandbox et casse-têtes de l'annuaire et lisez le guide de cette catégorie.
Autres outils
- logRecherche dichotomique contre recherche linéaireCombien d'étapes pour retrouver un élément trié
- sortComparaisons : tri simple contre tri fusionCombien de comparaisons pour trier n éléments
- forItérations de boucles imbriquéesCompter combien de fois le corps d'une boucle s'exécute
- fibAppels récursifs de Fibonacci (version naïve)Pourquoi fib(40) fait des centaines de millions d'appels
- ISODate vers ISO 8601 et autres formatsUne date écrite de six façons
- WNuméro de semaine ISO et jour de l'annéeSemaine 53 ? Jour 365 ? Calcul pour une date