Módulo 12 - Quanto custa: eficiência e a noção de Big-O
A notação Big-O: o vocabulário do custo
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 08/07/2026
O que você vai aprender
- Entender o Big-O como um nome curto para a forma de crescimento.
- Ler O(1), O(n), O(n ao quadrado) e O(log n) e o que cada um significa.
- Associar algoritmos conhecidos à sua notação Big-O.
- Usar o vocabulário Big-O para comparar algoritmos.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: A notação Big-O: o vocabulário do custo.
Os objetivos desta aula. Entender o Big-O como um nome curto para a forma de crescimento. Ler O(1), O(n), O(n ao quadrado) e O(log n) e o que cada um significa. Associar algoritmos conhecidos à sua notação Big-O. Usar o vocabulário Big-O para comparar algoritmos.
Veja o essencial, parte por parte.
Só um nome para a forma. Big-O é só um nome curto para a forma de crescimento do custo.
Lendo o Big-O de um algoritmo. Descobrir o Big-O de um algoritmo é justamente o que você já treinou: contar os passos em função do tamanho e ver a forma.
O Big-O na conversa real. Saber ler Big-O muda a forma como você entende discussões técnicas, tutoriais e documentação.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Só um nome para a forma
Você já entendeu o conceito difícil, as formas de crescimento. O Big-O é só o vocabulário para nomeá-las, e ele intimida mais pela aparência do que pela ideia. A notação é a letra O maiúscula seguida de uma expressão entre parênteses que descreve o crescimento, usando a letra n para o tamanho dos dados. Custo constante, que não muda com o tamanho, é O(1), lê-se ó de um. Custo linear, que dobra ao dobrar os dados, é O(n), ó de n. Custo quadrático é O(n ao quadrado). E o logarítmico é O(log n). Só isso. Quando um programador diz que um algoritmo é ó de n, ele está dizendo que o custo cresce em linha reta com o tamanho, exatamente a forma linear que você já conhece. O Big-O não acrescenta conceito novo; ele dá um nome curto e universal ao que você já entende.
| Big-O | Forma | Ao dobrar os dados | Exemplo do curso |
|---|---|---|---|
| O(1) | Constante | custo não muda | Buscar no dicionário pela chave |
| O(log n) | Logarítmico | custo mais 1 passo | Busca binária |
| O(n) | Linear | custo dobra | Busca linear, somar uma lista |
| O(n ao quadrado) | Quadrático | custo quadruplica | Ordenação da bolha, laços aninhados |
O Big-O nomeia cada forma de crescimento. As quatro linhas cobrem quase tudo que você encontra no dia a dia.
Lendo o Big-O de um algoritmo
Descobrir o Big-O de um algoritmo é justamente o que você já treinou: contar os passos em função do tamanho e ver a forma. Um laço que percorre a lista uma vez é O(n): n voltas. Dois laços aninhados sobre a mesma lista são O(n ao quadrado): n vezes n. Um acesso direto por posição ou por chave é O(1): um passo, não importa o tamanho. Cortar pela metade a cada passo é O(log n). Uma regra prática ajuda: quando um algoritmo tem partes com custos diferentes, o Big-O fica com a maior, porque ela domina no crescimento. Um algoritmo que faz um passo constante e depois um laço linear é O(n), porque o laço domina o passo único quando os dados crescem. O Big-O sempre reporta o termo que mais cresce, ignorando o resto, fiel à ideia de que a forma vence o detalhe.
🎮 Jogo da aula
Qual o Big-O?
Para cada algoritmo, escolha se ele é O(n) linear ou O(n ao quadrado) quadrático.
O Big-O na conversa real
Saber ler Big-O muda a forma como você entende discussões técnicas, tutoriais e documentação. Quando alguém diz que uma operação de dicionário é O(1), você entende na hora: é instantânea, não importa o tamanho. Quando um artigo alerta que um trecho é O(n ao quadrado), você sabe que ele vai travar com dados grandes. Quando a documentação de uma linguagem diz que sua ordenação é O(n log n), você reconhece que é bem mais rápida que a bolha, ainda que não seja instantânea. O Big-O virou a linguagem franca da eficiência, e falar essa língua te coloca em pé de igualdade em qualquer conversa sobre desempenho. Você não precisa dominar a matemática por trás dele para usá-lo bem no dia a dia; basta reconhecer as quatro ou cinco formas comuns e o que cada uma significa na prática, que é exatamente o que você acabou de aprender.
Teste rápido
Um programador diz que a busca num dicionário pela chave é O(1). O que isso significa?
Perguntas frequentes
- O que é a notação Big-O?
- É um vocabulário curto e universal para a forma como o custo de um algoritmo cresce com o tamanho dos dados. O(1) é constante, O(n) é linear, O(n ao quadrado) é quadrático, O(log n) é logarítmico. O n representa o tamanho da entrada. O Big-O não é um conceito novo; é o nome das formas de crescimento que você já entende.
- O que significa o n no Big-O?
- O n representa o tamanho dos dados de entrada: quantos itens tem a lista, quantos caracteres tem o texto. O Big-O descreve o custo em função desse n. Por exemplo, O(n) quer dizer que o custo cresce em linha reta com o número de itens: o dobro de itens, o dobro de trabalho.
- Como descubro o Big-O de um algoritmo?
- Contando os passos em função do tamanho e vendo a forma. Um laço simples é O(n); dois aninhados são O(n ao quadrado); acesso direto é O(1); cortar pela metade é O(log n). Quando há partes com custos diferentes, o Big-O fica com a maior, porque ela domina quando os dados crescem.
- O que quer dizer O(1) exatamente?
- Custo constante: a operação faz um trabalho fixo, que não muda com o tamanho dos dados. Buscar por chave num dicionário é O(1) porque custa quase o mesmo com dez ou dez milhões de itens. O 1 não é um tempo em segundos; é o nome da forma constante de crescimento.
- Preciso saber a matemática por trás do Big-O?
- Para o dia a dia, não. Basta reconhecer as quatro ou cinco formas comuns (O(1), O(log n), O(n), O(n log n), O(n ao quadrado)) e o que cada uma significa na prática. A matemática formal existe e é útil em estudos avançados, mas usar o Big-O para comparar algoritmos e ler documentação não exige ela.
- O que é O(n log n) que aparece nas ordenações rápidas?
- É uma forma entre a linear e a quadrática, bem mais próxima da linear. As ordenações rápidas costumam ser O(n log n), o que as torna muito melhores que a bolha, que é O(n ao quadrado). Para um milhão de itens, a diferença entre O(n log n) e O(n ao quadrado) é a diferença entre um instante e horas.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.