GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO03Difícil⏱ medio

Qual é a complexidade temporal, em notação O, do algoritmo clássico que multiplica duas matrizes quadradas n×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

Qual é a complexidade temporal, em notação O, do algoritmo clássico que multiplica duas matrizes quadradas n×n usando três loops aninhados (operações de soma e produto)?

  1. A) O(n^4), pois cada loop adiciona complexidade.
  2. B) O(n^3)
  3. C) O(n), já que é uma operação simples de multiplicação.
  4. D) O(log n), pois as matrizes são divididas a cada iteração.
  5. E) O(n^2), pois apenas duas dimensões são multiplicadas.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. Identifique a estrutura do algoritmo. A multiplicação clássica de duas matrizes n×n usa três loops aninhados: um para a linha i da primeira matriz, um para a coluna j da segunda e um para o índice k que percorre a soma do produto escalar entre a linha e a coluna.
  2. Conte as operações executadas no loop mais interno. Para cada par (i, j), o loop k executa n somas e n produtos, ou seja, cerca de 2n operações elementares.
  3. Multiplique pelas repetições dos loops externos. Há n valores para i e n valores para j, totalizando n^2 pares. Logo o número total de operações é n^2 × n = n^3 (multiplicado por uma constante 2, que é desprezada na notação O).
  4. Conclua. A complexidade temporal é O(n^3), alternativa B, que coincide com o gabarito oficial.
  5. Analise as alternativas erradas. A alternativa A (n^4) superestima, pois não há um quarto loop aninhado. A alternativa C (O(n)) confunde a operação individual de multiplicação com o número total de operações do algoritmo. A alternativa D (O(log n)) corresponde a algoritmos de divisão e conquista, que não são o método clássico. A alternativa E (O(n^2)) conta apenas os pares (i, j) e ignora o loop de soma interno.

💡 Dica: Considere a definição de complexidade temporal em algoritmos.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno acredita que cada loop aninhado multiplica a complexidade por um fator extra, somando expoentes de forma indevida, e conclui que três loops produzem n^4.

Por que engana: Confundir a complexidade de multiplicação de matrizes com operações mais simples, como soma ou multiplicação de números individuais.

B Correta

O método clássico executa, para cada uma das n^2 posições do produto, uma soma sobre n multiplicações, resultando em crescimento proporcional a n·n·n = n^3.

C Erradaerro: Conceitual

O aluno confunde o custo de uma única operação aritmética com o custo total do algoritmo, ignorando que os loops repetem essas operações n^3 vezes.

D Erradaerro: Senso comum

O aluno associa qualquer divisão do problema a logaritmo, aplicando a ideia de algoritmos de divisão e conquista (como busca binária) a um método que não divide as matrizes.

E Erradaerro: Procedimental

O aluno considera apenas as dimensões das matrizes (duas) e ignora o loop de soma interno, que percorre o índice k e acrescenta mais um fator n.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
Leitura alto
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 temporal

📌 Objetivo

avaliacao

🧱 Pré-requisitos

notação O · algoritmos de multiplicação

📚 Reveja

Revisar a notação O e a multiplicação de matrizes.

⚠️ Erro mais comum

Confundir a complexidade de multiplicação de matrizes com operações mais simples, como soma ou multiplicação de números individuais.

🌎 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.