GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO03Média⏱ medio

Um algoritmo percorre uma lista de n elementos com dois loops aninhados: para i de 1 a n: para j de 1 a n…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO03

Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Um algoritmo percorre uma lista de n elementos com dois loops aninhados: para i de 1 a n: para j de 1 a n: executar operação constante. Qual a complexidade temporal em notação Big-O do algoritmo em função de n?

  1. A) O(n^3) — imaginar um terceiro loop.
  2. B) O(n^2)
  3. C) O(log n) — pensa em divisão por dois.
  4. D) O(n!) — confundindo com permutações.
  5. E) O(n) — complexidade linear.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. O loop externo (variável i) roda de 1 a n, ou seja, n vezes.
  2. Para cada valor de i, o loop interno (variável j) também roda de 1 a n, ou seja, n vezes.
  3. O número total de execuções da operação constante é n vezes n, isto é, n^2.
  4. Descartando a constante multiplicativa (no caso, 1) e termos de ordem menor, a complexidade temporal em Big-O é O(n^2), alternativa B, que coincide com o gabarito oficial.
  5. A alternativa A está errada porque só há dois loops, não três, então o expoente seria 2 e não 3. A alternativa C está errada porque complexidade logarítmica exige que o tamanho do problema seja dividido a cada passo, o que não ocorre aqui. A alternativa D está errada porque O(n!) surge em algoritmos que geram todas as permutações, o que não é descrito. A alternativa E está errada porque complexidade linear exigiria um único loop de n passos, e aqui o trabalho cresce com o quadrado de n.

💡 Dica: Analise a estrutura dos loops para determinar a complexidade.

Alternativa por alternativa

A Erradaerro: Interpretaçãoa que mais engana

Acredita que cada loop aninhado adiciona um fator n, e imagina um terceiro loop que não existe no enunciado.

Por que engana: Confundir a complexidade de algoritmos com a adição de um loop extra, resultando em O(n^3).

B Correta

Cada iteração do loop externo aciona n iterações do loop interno, totalizando aproximadamente n × n operações, caracterizando ordem quadrática.

C Erradaerro: Conceitual

Associa qualquer algoritmo com repetição a divisão do problema pela metade, típico da busca binária, sem verificar se o tamanho diminui a cada passo.

D Erradaerro: Conceitual

Confunde loops aninhados com geração de todas as permutações dos elementos, que de fato cresce com n!.

E Erradaerro: Procedimental

Entende que, como a lista tem n elementos, a complexidade é sempre linear, ignorando que o loop interno é repetido para cada iteração do externo.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 consolidacao
🎯 Conceito central

complexidade de algoritmos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

notação Big-O · loops aninhados

📚 Reveja

Revisar a notação Big-O e como calcular a complexidade de algoritmos.

⚠️ Erro mais comum

Confundir a complexidade de algoritmos com a adição de um loop extra, resultando em O(n^3).

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 Procurar outra questão

Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.

Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.