Você está na página 1de 2

Árvore

Segundo Koffman e Wolfgang (2008, p. 305), em ciência da computação, uma


árvore é:
[...] como uma árvore na natureza, que possui um único tronco, que pode ser
dividido em dois ou mais ramos principais. O predecessor de cada ramo
principal é o tronco. Cada ramo principal pode gerar vários ramos secundários
(sucessores dos ramos principais). O predecessor de cada ramo secundário
é um ramo principal. Em ciência da computação, desenhamos uma árvore de
cima para baixo, assim a raiz da árvore está no alto do diagrama em vez de
na base.

A Figura 1 mostra o diagrama que representa a estrutura de uma árvore.

Figura 1 | Diagrama que representa uma árvore

B C D

E F G H
Fonte: elaborada pelo autor.

A Figura 1 mostra um exemplo de estrutura de dados do tipo árvore, que é


formada por um conjunto de nós ou elementos e também um vínculo entre os nós
também chamado de ramos. No diagrama apresentado, os nós são círculos (vértices)
nas cores azul, preta e vermelha, assim como, os ramos são linhas (arestas) na cor
verde. Os sucessores de um nó são conhecidos como filhos e o predecessor de um
nó como pai, dessa forma, cada nó possui exatamente um pai, com exceção do nó
raiz que não possui pai. Portanto, o nó B é pai dos nós E e F, da mesma forma que,
os nós G e H são filhos do nó D. Os nós que não possuem filhos são chamados de
folhas (no diagrama são os nós que estão na cor azul) ou também chamados de
externos e os nós que não são folhas são chamados de internos.
Uma subárvore de um nó é uma árvore cuja raiz é um filho desse nó. Por
exemplo, o nó D pode formar uma subárvore contendo os três nós (D, G e H), assim
como, o nó B pode formar uma subárvore contendo os três nós (B, E e F) ou também
o nó C pode formar uma subárvore contendo somente com esse nó. Já um conjunto
de árvores é chamada de floresta.
A profundidade (ou nível) de um nó é encontrada pela distância do nó raiz até
o nó desejado, onde o nó raiz possui a profundidade zero (0) e a cada aresta (ramo)
percorrida é adicionado o valor um (1) até chegar no nó. Dessa forma, o nó A possui
profundidade 0, os nós B, C e D possuem profundidade 1 e os nós E, F, G e H
possuem profundidade 2.
Um caminho é uma sequência de nós consecutivos distintos entre dois nós.
Um caminho entre os nós A e F é a sequência dos nós A, B e F. O comprimento do
caminho entre dois nós é determinado pela diferença de níveis entre os nós, portanto,
o comprimento do caminho dos nós A e F é dois (2).
Já a altura de um nó é o número de nós do maior caminho desse nó a um nó
folha, ou também podemos definir que a altura de um nó é o número de ramos no
maior caminho do nó até uma folha mais um. Portanto, os nós C, E, F, G e H tem
altura um (1), os nós B e D tem altura dois (2), por fim, o nó A tem altura três (3).
Observe que existe um caminho menor iniciando pelo nó C até o nó A, mas o caminho
a ser considerado é o maior, por isso, foi considerado um dos caminhos iniciando do
nó E, F, G ou H para se obter a altura do nó A. A altura de uma árvore é a altura do
seu nó raiz, portanto, neste exemplo a altura da árvore é de três (3).
Assim como os tipos abstratos, que foram vistos anteriormente, as árvores
também possuem características da organização dos dados e as operações. As
árvores são estruturas de dados recursivas, pois elas podem ser definidas
recursivamente, por esse motivo diversas funções que são utilizadas para manipular
árvores que serão mostradas a seguir estão escritas pelo método recursivo.

Você também pode gostar