GeraProva GeraProva Provas com IA para professores do Brasil
Matemática2ª sérieBNCC EM13MAT405Difícil⏱ longo

Descreva e escreva em pseudocódigo um algoritmo eficiente para calcular o diâmetro (comprimento do maior…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13MAT405

Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Descreva e escreva em pseudocódigo um algoritmo eficiente para calcular o diâmetro (comprimento do maior caminho entre dois vértices) de uma árvore não orientada. Justifique por que o método funciona e analise sua complexidade temporal e espacial.

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Método (duas BFS): 1) Escolha um vértice arbitrário s. Execute BFS a partir de s para encontrar o vértice v mais distante. 2) Execute BFS a partir de v para encontrar o vértice w mais distante e registre a distância d(v,w). d(v,w) é o diâmetro da árvore. Pseudocódigo (assume lista de adjacência): function BFS_farthest(start): queue ? empty queue enqueue(queue, start) dist[start] ? 0 visited[start] ? true farthest ? start while queue not empty: u ? dequeue(queue) for each neighbor n of u: if not visited[n]: visited[n] ? true dist[n] ? dist[u] + 1 enqueue(queue, n) if dist[n] > dist[farthest]: farthest ? n return (farthest, dist[farthest]) function tree_diameter(any_vertex): (v, _) ? BFS_farthest(any_vertex) (w, diameter) ? BFS_farthest(v) return diameter Justificativa: em árvores, a BFS a partir de um vértice extremo encontra outro extremo; repetir a partir desse extremo alcança o maior caminho. Complexidade: cada BFS é O(N) tempo e O(N) espaço (N = número de vértices), logo o algoritmo é O(N) tempo e O(N) espaço.

Explicação

O método utiliza a propriedade das árvores de que o maior caminho entre dois vértices sempre termina em vértices extremos. A primeira busca encontra um desses extremos, e a segunda busca determina a distância máxima a partir dele, garantindo que o resultado seja o diâmetro. A complexidade do algoritmo é linear em relação ao número de vértices, pois cada busca em largura percorre todos os vértices e arestas uma única vez.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo de diâmetro de árvore

📌 Objetivo

avaliacao

🧱 Pré-requisitos

estrutura de dados de árvore · pseudocódigo

📚 Reveja

Revisar algoritmos de busca em profundidade e análise de complexidade.

⚠️ Erro mais comum

O aluno pode confundir o conceito de diâmetro da árvore com a altura da árvore, resultando em uma descrição incorreta do algoritmo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

Questões parecidas com resolução

Todas as questões de Leitura e interpretação de tabelas e gráficos (de colunas ou barras simples ou múltiplas) referentes a variáveis categóricas e variáveis numéricas

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