Competitive Programming Academy · Aula

Contando Operações com Big-O

De constante a quadrática, em termos simples.

Aula 1 de 413 etapas

Contando Operações com Big-O é uma aula grátis de Competitive Programming Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Competitive Programming Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Competitive Programming Academy inclui 4 aulas no total.

Por que contar operações

Em competições, velocidade é essencial. Em vez de cronometrar seu código, você estima quantas etapas ele executa. Essa estimativa é sua complexidade temporal. 🚀

Conheça a notação Big-O

Big-O descreve como a contagem de operações cresce à medida que o tamanho da entrada n aumenta. Ela ignora detalhes pequenos e se concentra na tendência dominante.

Tempo constante O(1)

Quando o trabalho nunca depende de n, ele é O(1). Ler um elemento de uma lista ou fazer uma adição sempre leva o mesmo tempo.

x = arr[0]
y = a + b

Tempo linear O(n)

Um laço simples sobre n elementos é O(n). Se você dobrar a entrada, aproximadamente dobrará o trabalho. Esse é o recurso básico do dia a dia.

for x in arr:
    total += x

Tempo quadrático O(n ao quadrado)

Um laço dentro de outro, ambos percorrendo n elementos, é O(n^2). Para n = 1000, isso representa um milhão de etapas, e o crescimento é rápido a partir daí.

for i in range(n):
    for j in range(n):
        check(i, j)

Tempo logarítmico O(log n)

Quando cada etapa reduz o problema pela metade, você obtém O(log n). A busca binária alcança um bilhão de elementos em apenas cerca de 30 etapas. ✨

A escada do crescimento

Da mais rápida à mais lenta, a ordem comum é: O(1), O(log n), O(n), O(n log n), O(n^2). Quanto mais acima, melhor é a escalabilidade.

Ignore as constantes

Big-O ignora fatores constantes, então O(2n) é simplesmente O(n). Duas passagens ainda crescem linearmente, portanto o multiplicador não muda a classe.

Mantenha apenas o termo dominante

Quando os termos são somados, apenas o que cresce mais rapidamente importa. O(n^2 + n) simplifica-se para O(n^2), porque n^2 supera n por uma grande margem à medida que n cresce.

Sequenciais versus aninhados

Dois laços, um após o outro, somam-se em O(n + n) = O(n). Dois laços aninhados multiplicam-se e resultam em O(n^2). O formato dos laços indica qual é o caso.

Comece pelo pior caso

As competições avaliam o caso de teste mais difícil, então você deve raciocinar sobre o pior caso. Presuma que o laço será executado por completo, e não que terminará antes.

Verificação rápida

É hora de testar sua intuição sobre Big-O.

Recapitulação

Agora você lê o código observando seu crescimento: O(1), O(n), O(n^2) e O(log n). Ignore as constantes, mantenha o termo dominante e pense no pior caso. 🎯

Grátis para começar

Aprenda Python com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Contando Operações com Big-O” é grátis?

Sim — o texto completo de “Contando Operações com Big-O” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Competitive Programming Academy, atualize para CoddyKit PRO. O curso de Competitive Programming Academy inclui 4 aulas no total.

O que vou aprender em “Contando Operações com Big-O”?

De constante a quadrática, em termos simples. Você pratica Competitive Programming Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Competitive Programming Academy?

Nenhuma experiência prévia é necessária. Competitive Programming Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Contando Operações com Big-O”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Competitive Programming Academy?

Sim. Cada aula de Competitive Programming Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Contando Operações com Big-O
  2. A Regra Prática de 10^8
  3. Leia as Restrições e Escolha a Complexidade
  4. Por que TLE Acontece e Como Identificá-lo
← Voltar para Competitive Programming Academy