Grande-O
A notação do Grande-O ou notação assimptótica (ou como é conhecido em inglês, Big-O Notation, ou Big Omicron Notation) é uma notação matemática utilizada para analisar o comportamento assintótico de funções. Essa notação é bastante utilizada para a análise de algoritmos em ciência da computação.
A criação dessa notação é creditada ao matemático alemão Paul Bachmann, em 1894, na publicação da segunda versão da sua obra Analytische Zahlentheorie, sendo popularizada por outro alemão, Edmund Landau, e por causa disso, essa notação é também conhecida como "Símbolo de Landau". Essa notação é padronizada como "ordem de".
De um modo informal, dizemos que uma função
pode ser representada como
se ambas funções, para
suficientemente grande, "crescem" da mesma forma, ou seja, são "proporcionais". Se
é
, então, para
grande o suficiente, se num dado intervalo
dobra, então
"dobra" também (com erro pequeno), e vice-versa. Por exemplo,
é
.
Índice |
Definição [editar]
Sejam duas funções reais f(x) e g(x). É definido:
A definição acima diz que a função f(x) é superiormente limitada pela função g(x).
Na definição foi utilizado f(x) = O(g(x)), mas é mais correto escrever f(x) é O(g(x)), ou f(x) ∈ O(g(x)), já que O(g(x)) define um conjunto de funções (ou classes de funções).
Para demonstrar que f(x) é O(g(x)), não basta encontrar dois números c e x0 tais que a definição acima seja satisfeita, já que podem existir funções que satisfaçam a condição referida apenas para alguns valores. As demonstrações são usualmente feitas por indução.
Exemplos [editar]
- A função f(x) = 10x + 11 é O(x). Como exemplo, basta utilizar c = 12 e x0 = 10.
- A função f(x) = x2 + 100 é O(x2). Como exemplo, basta utilizar c = 2 e x0 = 10.
Ordens mais comuns [editar]
Abaixo há uma lista de classes de funções que são bastante utilizadas para análise de algoritmos, por ordem crescente de crescimento de funções (as funções que têm um crescimento mais lento, são as primeiras). A letra c denota uma constante qualquer.
| notação | nome |
|---|---|
| O(1) | ordem constante |
| O(log x) | ordem logarítmica |
| O([log x]c) | ordem poli-logarítmica |
| O(x) | ordem linear |
| O(x · log x) | ordem linear-logarítmica |
| O(x²) | ordem quadrática |
| O(x³) | ordem cúbica |
| O(xc) | ordem polinomial |
| O(cx) | ordem exponencial |
| O(x!) | ordem fatorial |
| O(xx) | ordem exponencial |
Propriedades [editar]
Soma [editar]
Ex.:
.
Produto [editar]
Multiplicação por uma constante [editar]
, desde que k≠0



, desde que k≠0