Big O Notation é uma forma de comparar algoritmos. Ela os compara calculando quanta memória é necessária e quanto tempo leva para ser completada.
A Notação Big O é freqüentemente utilizada para identificar a complexidade de um problema, também conhecida como classe de complexidade do problema. O matemático Paul Bachmann (1837-1920) foi o primeiro a usar esta notação, na segunda edição de seu livro "Analytische Zahlentheorie", em 1896. Edmund Landau (1877-1938) tornou a notação popular. Por esta razão, quando as pessoas falam de um símbolo Landau, elas se referem a esta notação.
Big O Notation é nomeado após o termo "ordem da função", que se refere ao crescimento das funções. A Notação Big O é usada para encontrar o limite superior (a maior quantidade possível) da taxa de crescimento da função, o que significa que ela funciona o tempo mais longo que levará para transformar a entrada na saída. Isto significa que um algoritmo pode ser agrupado pelo tempo que pode levar em um cenário de pior caso, onde a rota mais longa será tomada a cada vez.
Big O é uma expressão que encontra o pior cenário de tempo de execução, mostrando quão eficiente é um algoritmo sem a necessidade de executar o programa em um computador. Isto também é útil, pois computadores diferentes podem ter hardware diferente e, portanto, precisar de diferentes quantidades de tempo para completá-lo. Como o Big O sempre assume o pior caso, ele pode mostrar uma medição consistente da velocidade: independentemente de seu hardware, O ( 1 ) {\\i1}displaystyle O(1)} sempre vai completar mais rápido que O ( n ! ) {\i1}displaystyle O(n!)}
porque eles têm diferentes níveis de eficiência.