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

Em um algoritmo que identifica componentes conexas em um grafo não direcionado usando DFS, qual variável (tipo…

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

Em um algoritmo que identifica componentes conexas em um grafo não direcionado usando DFS, qual variável (tipo de dado) costuma armazenar a identificação do componente a que pertence cada vértice?

  1. A) Uma matriz booleana que indica se um vértice é visitado ou não.
  2. B) Uma lista ligada de strings que armazena nomes dos vértices.
  3. C) Uma lista de objetos que contém propriedades de cada vértice, mas não seus IDs.
  4. D) Um vetor inteiro component_id[v] que armazena o id do componente para cada vértice v.
  5. E) Um vetor de caracteres que armazena letras correspondentes a cada vértice.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Em um algoritmo de componentes conexas com DFS, percorremos o grafo a partir de cada vértice ainda não visitado. Cada chamada da DFS a partir de um novo vértice inicia um novo componente, e todos os vértices alcançados nessa busca pertencem ao mesmo componente.
  2. Para registrar a qual componente cada vértice pertence, precisamos de uma estrutura que associe cada vértice v a um número identificador do componente. Um vetor de inteiros indexado pelo vértice, como component_id[v], faz exatamente isso: o índice é o vértice e o valor é o número do componente.
  3. Por que as outras estão erradas: A) a matriz booleana só diz se o vértice foi visitado, não a qual componente ele pertence; B) uma lista de strings guarda nomes, não identificadores de componente; C) a lista de objetos sem IDs não atende ao objetivo de identificar o componente; E) um vetor de caracteres não é adequado, pois o número de componentes pode ser grande e a identificação deve ser numérica.
  4. Conclusão: a alternativa correta é a D, que coincide com o gabarito oficial.

💡 Dica: Considere as estruturas de dados utilizadas em algoritmos de grafos.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Confunde o controle de visitas da DFS com a identificação do componente. A matriz booleana indica apenas se o vértice já foi visitado, o que é necessário para o algoritmo, mas não informa a qual componente o vértice pertence.

Por que engana: Confundir a função de uma matriz booleana com a identificação de componentes, pensando que ela armazena informações sobre os IDs dos vértices.

B Erradaerro: Conceitual

Acredita que o armazenamento deve guardar nomes ou rótulos textuais dos vértices. A identificação do componente é um número, e a lista ligada de strings não associa vértices a componentes.

C Erradaerro: Conceitual

Entende que os objetos de vértice podem ser suficientes sem um campo de identificação. Sem um ID de componente armazenado, não há como saber a qual componente cada vértice pertence.

D Correta

Durante a DFS atribui-se um identificador (inteiro) a cada vértice quando a nova componente é explorada; um array inteiro permite acesso e comparação O(1).

E Erradaerro: Senso comum

Imagina que letras servem como rótulos de componentes, o que limita o número de componentes a poucas letras e não é a forma usual de representar identificadores numéricos em algoritmos.

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🧩 desafio
🎯 Conceito central

componentes conexas em grafos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estruturas de dados · algoritmos de busca

📚 Reveja

Revisar o uso de estruturas de dados em algoritmos de grafos.

⚠️ Erro mais comum

Confundir a função de uma matriz booleana com a identificação de componentes, pensando que ela armazena informações sobre os IDs dos vértices.

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