Muito legal a resposta de rafaelbarbosas, complementando o seguinte ponto:
Vemos que com o aumento do número de operações, pior será o programa.
As notações assintóticas(big-O e outras) não tem o intuíto de definir quantas operações um algoritmo executa, e sim uma estimativa do número de operações executadas que dependem do tamanha da entrada.
Por exemplo, se tenho um algorítmo A
que executa sempre 100 operações ele é categorizado como O(1)
(tempo constante), pois independe do tamanho da entrada, sempre é executado 100 operações.
Da mesma forma que um algorítmo B
pode executar uma operação para cada elemento de um vector de entrada, nesse caso depende da entrada, e é categorizado como O(n)
(tempo linear).
Na análise assintótica, consideramos o algorítmo A
mais rápido, no entanto, ele ainda sim pode executar mais operações que um algorítmo B
(no caso onde a entrada de B
é pequena).
Em outras palavras, a análise assintótica não preocupa-se somente com a quantidade total de operações, mas sim com o crescimento desse valor ao aumentar a entrada, que é o caso onde B
executa mais operações.