GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO01Fácil⏱ medio

Dado um vetor (array) não ordenado com n elementos, qual é a complexidade temporal, no pior caso, do algoritmo…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF07CO01

Criar soluções de problemas para os quais seja adequado o uso de registros e matrizes unidimensionais para descrever suas informações e automatizá-las usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Dado um vetor (array) não ordenado com n elementos, qual é a complexidade temporal, no pior caso, do algoritmo que realiza busca linear para verificar se um dado x está presente na lista?

  1. A) Complexidade O(n^2): cada elemento é comparado com todos os outros.
  2. B) Complexidade O(n log n): a busca envolve ordenação implícita antes da verificação.
  3. C) Complexidade O(1): busca linear encontra x em tempo constante.
  4. D) Complexidade O(log n): divisão e conquista reduz o número de comparações.
  5. E) O(n) no pior caso.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. Na busca linear, percorremos o vetor do início ao fim, comparando x com cada elemento até encontrá-lo ou esgotar a lista.
  2. No pior caso, x não está presente ou está na última posição, então todos os n elementos são comparados uma vez cada.
  3. Como o número de comparações cresce linearmente com n, a complexidade temporal no pior caso é O(n).
  4. A alternativa E está correta e coincide com o gabarito oficial.
  5. A alternativa A está errada, pois O(n^2) apareceria em algoritmos como a comparação de todos os pares, o que não ocorre na busca linear, que faz uma única passada.
  6. A alternativa B está errada, pois a busca linear não ordena o vetor; o n log n corresponde à ordenação eficiente, não à busca sequencial.
  7. A alternativa C está errada, pois O(1) exigiria acesso direto ao elemento procurado, o que não é possível sem informação adicional sobre a posição de x em um vetor não ordenado.
  8. A alternativa D está errada, pois O(log n) é típico da busca binária, que exige vetor ordenado e divide o espaço de busca pela metade; a busca linear não faz essa divisão.

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

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno pode ter confundido a busca linear com algoritmos que comparam todos os pares de elementos, como a verificação de duplicatas por força bruta.

B Erradaerro: Conceituala que mais engana

O aluno pode ter achado que, por o vetor não estar ordenado, seria necessário ordená-lo antes da busca, associando a complexidade da ordenação eficiente à busca.

Por que engana: Confundir a complexidade da busca linear com a de algoritmos que envolvem ordenação ou divisão e conquista.

C Erradaerro: Senso comum

O aluno pode ter imaginado que, ao encontrar x, a busca seria imediata, esquecendo que no pior caso x pode estar no fim do vetor ou não existir.

D Erradaerro: Conceitual

O aluno pode ter confundido a busca linear com a busca binária, aplicando a estratégia de dividir ao meio sem que o vetor esteja ordenado.

E Correta

A busca linear compara x com cada elemento em sequência; se x estiver ausente ou na última posição, são feitas n comparações, portanto tempo proporcional a n.

Raio-X da questão

Dificuldade Fácil
Bloom Lembrar
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

complexidade de algoritmos · busca linear

📚 Reveja

Revisar a busca linear e suas características de complexidade.

⚠️ Erro mais comum

Confundir a complexidade da busca linear com a de algoritmos que envolvem ordenação ou divisão e conquista.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Programação usando registros e matrizes

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