Descreva um algoritmo baseado em DFS para identificar vértices de articulação (cut vertices) em um grafo não…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
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
Descreva um algoritmo baseado em DFS para identificar vértices de articulação (cut vertices) em um grafo não direcionado conexo. Indique as variáveis essenciais (por exemplo: tempo, disc[], low[], parent[]) e a complexidade em termos de vértices V e arestas E.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
usar DFS mantendo arrays disc[u] (tempo de descoberta) e low[u] (menor disc alcançável). Inicialize tempo=0, parent[u]=-1 e percorra DFS; ao visitar v não explorado a partir de u: parent[v]=u; disc[v]=low[v]=++tempo; recursar; após retorno, low[u]=min(low[u], low[v]); u é articulação se (parent[u]==-1 e tem dois ou mais filhos) ou (parent[u]!=-1 e low[v] >= disc[u]). Para aresta para um ancestral (v já visitado e v != parent[u]) faça low[u]=min(low[u], disc[v]). Variáveis: disc[], low[], parent[], tempo, lista de adjacência. Complexidade: O(V+E) com representação por listas de adjacência.
Explicação
O algoritmo descrito utiliza a técnica de busca em profundidade (DFS) para explorar o grafo, permitindo identificar vértices de articulação por meio das variáveis disc[] e low[], que ajudam a determinar a conectividade do grafo. As condições estabelecidas para classificar um vértice como articulação garantem que a remoção desse vértice aumentaria o número de componentes conexos no grafo. A complexidade O(V+E) reflete a eficiência do algoritmo, já que cada vértice e aresta é visitado no processo de busca.
Raio-X da questão
vértices de articulação
avaliacao
estruturas de dados em grafos · algoritmos de busca
Revisar o conceito de DFS e suas aplicações em grafos.
O aluno pode confundir a definição de vértices de articulação com outros conceitos de grafos, como componentes conexos ou ciclos.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Descreva um algoritmo, indicando as variáveis-chave e os passos, para identificar todos os vértices de articulação (cut…
- Descreva um algoritmo em alto nível que, dado um grafo não direcionado representado por lista de adjacência, identifique…
- Descreva um algoritmo em alto nível que, dado um grafo não direcionado representado por lista de adjacência, identifique…
- Projete um algoritmo (pseudocódigo) que, dado um grafo não direcionado representado por lista de adjacência, determine…
- Projete um algoritmo (explique a ideia e apresente pseudocódigo) que, dado um grafo não direcionado em lista de…
- Descreva um algoritmo, indicando as variáveis-chave e os passos, para detectar ciclos em um grafo dirigido usando…
🔎 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
