Um algoritmo aninhado percorre uma matriz M de tamanho n×n com dois loops: para i de 1 até n e para j de 1 até…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Um algoritmo aninhado percorre uma matriz M de tamanho n×n com dois loops: para i de 1 até n e para j de 1 até n. Se a operação dentro do laço interno tem custo constante, qual é a complexidade temporal desse algoritmo em função de n?
- A) O(n³) - a complexidade é cúbica devido à aninhamento.
- B) O(n) - a complexidade é linear, não quadrática.
- C) O(1) - a complexidade é constante, não depende de n.
- D) O(n²)
- E) O(n² log n) - envolve log n incorretamente na complexidade.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O laço externo (i de 1 até n) executa n vezes.
- Para cada valor de i, o laço interno (j de 1 até n) executa n vezes.
- Como a operação interna tem custo constante, o total de operações é n vezes n, isto é, n^2.
- Portanto a complexidade temporal é O(n^2), alternativa D, que coincide com o gabarito oficial.
- A alternativa A está errada, pois O(n^3) exigiria um terceiro laço aninhado, o que não existe aqui.
- A alternativa B está errada, pois O(n) corresponderia a um único laço de n passos, e não a dois laços aninhados.
- A alternativa C está errada, pois O(1) significaria custo fixo, independente do tamanho da matriz, o que não ocorre já que os laços dependem de n.
- A alternativa E está errada, pois não há ordenação ou divisão de problema que justifique o termo log n; os laços são simples contagens.
💡 Dica: Analise a estrutura dos loops para determinar a complexidade.
Alternativa por alternativa
O aluno acredita que cada laço aninhado multiplica a complexidade por n, somando um fator extra por ter 'aninhamento', como se houvesse três laços.
Por que engana: Confundir a complexidade de um algoritmo aninhado, acreditando que é cúbica ao invés de quadrática.
O aluno pensa que, por a matriz ter n elementos, basta percorrer uma única vez, ignorando que o laço interno roda n vezes para cada iteração do externo.
O aluno confunde custo constante da operação interna com custo constante do algoritmo inteiro, sem perceber que o número de repetições cresce com n.
O laço externo executa n vezes e, a cada iteração, o laço interno executa n vezes, resultando em n·n = n² execuções da operação de custo constante.
O aluno associa qualquer aninhamento a algoritmos de ordenação ou divisão e conquista, acrescentando o fator log n sem que ele exista na estrutura do código.
Raio-X da questão
complexidade de algoritmos
avaliacao
complexidade de algoritmos · análise de loops
Revisar conceitos de complexidade temporal de algoritmos.
Confundir a complexidade de um algoritmo aninhado, acreditando que é cúbica ao invés de quadrática.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resoluçã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…
- Considere um algoritmo com duas estruturas de repetição aninhadas, cada uma iterando de 1 até n. Qual é a complexidade…
- Qual é a complexidade temporal, em notação O, do algoritmo clássico que multiplica duas matrizes quadradas n×n usando…
- Qual é a complexidade temporal, em notação O, de um algoritmo que percorre todos os elementos de uma matriz de dimensão…
- Um algoritmo apresenta loops aninhados: para i de 1 até m faça para j de 1 até n faça executar_acao; fim para; fim para…
- Se uma matriz n × n contém registros e um algoritmo compara cada par distinto de elementos para detectar duplicidade de…
Todas as questões de Estratégias de solução de problemas - Decomposição
🔎 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
