Zložitosť algoritmu sa vždy odhaduje na základe najhoršieho možného scenára. Môže sa stať, že váš program bude pre niektoré vstupy potrebovať len $O(n)$ operácií, zatiaľ čo pre iné (menej časté, no predsa možné) vstupy až $O(n^2)$. V takomto prípade vždy uvedieme vyššiu zložitosť, teda $O(n^2)$, pretože nás zaujíma, ako sa náš algoritmus bude správať v najhoršiom možnom prípade.
O-notácia je mierne nepresná, a preto musíme byť pri jej používaní opatrní. Napríklad, ak má algoritmus zložitosť $O(n^2)$, je matematicky správne povedať aj to, že má zložitosť $O(n^3)$ (pretože $n^2$ rastie pomalšie ako $n^3$).
Nás však zaujíma najtesnejšia horná hranica – teda funkcia, ktorá čo najpresnejšie vystihuje rýchlosť rastu operácií. V našom príklade by to bolo $O(n^2)$, nie $O(n^3)$. Vždy by ste mali uvádzať túto "najtesnejšiu" zložitosť, ktorá najlepšie charakterizuje správanie sa algoritmu.