Soit deux algorithmes A et B résolvant le même problème de complexité respectives $100n$ et $n^2$. Quel est le plus efficace ?
La réponse courte : L'algorithme A ($100n$) est le plus efficace.
L'explication détaillée : Tout dépend de la taille $n$.
Il y a un point de bascule à $n=100$ ($100×100=100^2$). Dès que l'on dépasse cette taille, l'algorithme quadratique ($n^2$) explose, tandis que le linéaire ($100n$) reste stable.
<aside> 💡
En informatique, on privilégie le comportement sur les grandes données. C'est le cœur de la complexité asymptotique.
</aside>
La complexité asymptotique est l'étude du comportement de l'algorithme lorsque $n$ tend vers l'infini ($n→∞$). On cherche à définir l'ordre de grandeur de la croissance, en négligeant les constantes et les termes de bas degré.
Pour classer les algorithmes, on utilise trois notations grecques principales qui décrivent les "bornes" de la fonction de coût.
C'est la notation la plus utilisée. Elle garantit que l'algorithme ne sera jamais plus lent que cette limite.
C'est l'inverse du Grand O. Elle indique que l'algorithme prendra au moins ce temps-là.