Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Algoritmos — Instituto Legalle 2026

Algoritmos e Estrutura de DadosAlgoritmos
Código
qg747501
Banca
Instituto Legalle
Órgão
BADESUL - RS
Ano
2026
Nível
Superior
Cargo
Técnico em Desenvolvimento - Analista de Sistemas (Ênfase em Arquiteto de Software)
Um Analista de Sistemas foi incumbido de avaliar o desempenho de um algoritmo responsável pelo processamento de solicitações de financiamento, a fim de garantir sua eficiência antes da implantação em produção. Diante disso, considere o seguinte trecho de pseudocódigo no quadro a seguir:para i de 1 até n façapara j de 1 até n façaprocessarSolicitacao(i, j)fim_parafim_paraCom base na análise da complexidade de tempo desse algoritmo, assinale a alternativa CORRETA.
  1. AO(n²)- quadrática.
  2. BO(1) - constante.
  3. CO(n) - linear.
  4. DO(log n) - logarítmica.
  5. EO(n³) - cúbica.
Revelar gabarito e comentário

GabaritoA — O(n²)- quadrática.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Análise de complexidade de laços aninhados

Gabarito: letra A. O pseudocódigo apresenta dois laços aninhados que iteram de 1 até n, resultando em n × n = n² iterações da operação interna processarSolicitacao(i, j). Isso caracteriza a complexidade de tempo como O(n²) – quadrática.

A banca testa o conhecimento fundamental de análise de algoritmos: contar o número de execuções de uma operação básica em função do tamanho da entrada. Cada laço isolado seria O(n); o aninhamento multiplica as complexidades.

Alternativa A — ✅ Correta ⟵ GABARITO

A operação interna é executada para cada par (i, j), com i e j variando de 1 a n, totalizando n² execuções. Desprezando constantes e termos de ordem inferior, a classe de complexidade é O(n²) – quadrática.

Alternativa B — ❌ Incorreta

O(1) – constante significaria que o tempo de execução não depende do tamanho da entrada n. Como o número de iterações cresce com n, não pode ser constante. O erro é confundir algoritmo de tempo constante (ex.: acesso direto a elemento) com este que possui laços.

Alternativa C — ❌ Incorreta

O(n) – linear seria o caso se houvesse apenas um laço de 1 a n. Aqui há dois laços aninhados, gerando n² iterações, e não n. O distrator confunde laço simples com duplo.

Alternativa D — ❌ Incorreta

O(log n) – logarítmica é típica de algoritmos que dividem o problema pela metade a cada passo (ex.: busca binária). Não há divisão alguma no código; a quantidade de trabalho cresce quadraticamente com n.

Alternativa E — ❌ Incorreta

O(n³) – cúbica ocorreria se houvesse três laços aninhados (ex.: para i, para j, para k). Como são apenas dois laços, a complexidade é n², e não n³. O distrator adiciona um laço extra indevidamente.

PEGA ESSA DICA!

Para algoritmos com laços aninhados, multiplique as repetições dos laços para obter o número total de iterações. Um laço duplo com ambos variando até n gera n² operações → O(n²).

Gabarito: letra A.

Link permanente: /questoes/qg747501