Curso Algoritmos em Grafos
Diâmetros e Centros de Árvores
Nesta lição, vamos falar de um tipo específico de grafo: árvores. Como vimos na lição de introdução, as árvores são grafos acíclicos conexos. Embora as árvores pareçam normais à primeira vista, elas têm muitas propriedades e algoritmos interessantes que funcionam especificamente para elas. Agora vamos estudar apenas dois tópicos que são específicos para este tipo de grafo. No entanto, iremos cobrir mais destes tópicos em cursos futuros.
Primeiro, vamos discutir a propriedade das árvores que relaciona o número de vértices e o número de arestas de uma árvore. Esta importante propriedade diz que o número de vértices em uma árvore é igual ao número de arestas mais
Vamos começar com duas definições:
- Diametro de uma árvore: o caminho mais longo em uma árvore, ou seja, a distância máxima entre dois vértices em uma árvore;
- Centro de uma árvore: um vértice que minimiza a distância máxima entre ele e todos os outros vértices
Vamos concentrar-nos inicialmente no diâmetro de uma árvore. Mais tarde, vamos discutir sobre o centro de uma árvore.
Consideremos que estamos trabalhando com uma árvore
Diâmetro de uma árvore
Como podemos encontrar o diâmetro de uma árvore?
Há uma solução simples que funciona em
Como sempre, reutilizaremos a nossa classe Graph da aula de representação com os seguintes métodos adicionais: