Você está na página 1de 6

ESTRUTURA DE DADOS

1. rvores:
Uma das mais importantes classes de estruturas de dados em computao so as rvores. Aproveitando-se de sua organizao hierrquica, muitas aplicaes so realizadas usando-se algoritmos relativamente simples, recursivos e de eficincia bastante razovel.

1.1. Definies e representaes bsicas


Uma rvore uma estrutura de dados que se caracteriza por uma relao de hierarquia entre os elementos que a compem. Exemplos de estruturas em forma de rvores so: O organograma de uma empresa; A diviso de um livro em captulos, sees, tpicos, etc; A rvore genealgica de uma pessoa.
Arvore Binria

Jose Joo Maria Jorge Carmem

Mrio

Claudia

Arvore Ternaria

Direo

Inf.

Adm.

Prod.

Para visualizar esse conceito, pode-se represent-lo graficamente. H formas diferentes de representaes grficas de uma rvore:

a)

Representao hierrquica

1 de 6

b)

Representao por conjuntos (diagrama de incluso)

c)

Representao por expresso parentetizada (parnteses aninhados)

Cada conjunto de parnteses correspondentes contm um nodo e seus filhos. Se um nodo no tem filhos, ele seguido por um par de parnteses sem contedo.

( A (B) ( C (D (G) (H)) (E) (F (I)) ) )


d) Representao por expresso no parentetizada

Cada n seguido por um nmero que indica a quantidade de filhos desse nodo, e em seguida por esses filhos, representados do mesmo modo.

A2B0C3D2G0H0E0F1I0

e)

Representao por Endentao (Digrama de Barras)

2 de 6

Pode-se representar uma rvore de muitos outros modos, mas interessante notar que, dentre os exemplos apresentados, a representao a) a que permite uma melhor visualizao, e que ser utilizada a partir deste ponto. As representaes c) e d) no permitem boa visualizao da estrutura, mas podem ser teis para guardar em arquivos os dados de uma rvore. Como, por definio, os subconjuntos s1, s2,...,sm so disjuntos, cada n s pode ter um pai. Assim, o desenho abaixo, por exemplo, no representa uma rvore:

Motivao
diversas aplicaes necessitam de estruturas mais complexas que as listas estudadas at agora inmeros problemas podem ser modelados atravs de rvores rvores admitem tratamento computacional eficiente quando comparadas s estruturas mais genricas como os grafos (os quais, por sua vez so mais flexveis e complexos)

Dada uma rvore qualquer:


1) N ou NODO ou VRTICE: o dado a partir do qual definida a hierarquia. 2) Raiz: o n principal, ou seja, aquele ao qual os demais ns esto subordinados. Os demais nodos formam m >= 0 conjuntos disjuntos s1, s2, ... , sm, tais que cada um desses conjuntos tambm uma rvore (denominada sub-rvore). 3) Sub-rvore: aquela que se forma a partir de um determinado n. 4) A linha que liga dois nodos da rvore denomina-se aresta ou arco. 5) Diz-se que existe caminho entre dois nodos V e W da rvore, se a partir do nodo V puder-se chegar ao nodo W percorrendo-se as arestas que ligam os nodos intermedirios entre V e W. Observa-se que existe sempre um caminho entre a raiz e qualquer nodo da rvore. 6) Se houver um caminho entre V e W, comeando em V diz-se que V um nodo ancestral de W e W um nodo descendente de V.

3 de 6

Se este caminho contiver uma nica aresta, diz-se que V o nodo pai de W e que W um nodo filho de V. Dois nodos que so nodos filhos do mesmo nodo pai so denominados nodos irmos. Uma caracterstica inerente a rvores que qualquer nodo, exceto a raiz, tem um nico nodo pai. Se um nodo no possui nodos descendentes, ele chamado de folha ou nodo terminal da rvore. 7) Grau de um nodo o nmero de nodos filhos do mesmo. Obviamente que um nodo folha tem grau zero. 8) Nvel de um nodo o nmero de nodos existentes no caminho entre a raiz e o prprio nodo. Numero de "LINHAS" que liga o n raiz. A raiz tem nvel igual a Zero (0) 9) Altura de uma rvore ou nvel da rvore igual ao nvel do nodo de maior nvel da rvore. 10) O grau da rvore igual ao grau do nodo de maior grau da rvore.

RAIZ

NIVEL 0

NO GRAU 3

N GRAU 1 IRMOS

NIVEL 1

NIVEL 2

SUB- ARVORE

NIVEL 3 ALTURA = 3

FOLHA

11) Floresta: um conjunto de zero ou mais rvores disjuntas, ou seja, se for eliminado o n raiz da rvore, as sub-rvores que restarem chamam-se de florestas.
a Raiz

rvore

d Floresta

g Floresta

4 de 6

Definio
Uma rvore enraizada T, ou simplesmente uma rvore, um conjunto finito de elementos denominados ns ou vrtices tais que: T = 0 a rvore dita vazia ou existe um n especial r, chamado raiz de T; os restantes constituem um nico conjunto vazio ou so divididos em m (deve ser maior ou igual a 1) conjuntos distintos no vazios que so as sub-rvores de r, cada sub-rvore a qual , por sua vez, uma rvore.

Notao
Tv, se v um n de T ento a notao Tv indica a sub-rvore de T com raiz em v.

Sub-rvore
Seja a rvore ao lado T = {A, B, ...} A rvore T possui duas sub-rvores: Tb e Tc onde Tb = { B } e Tc = {C, D, ...} A sub-rvore Tc possui 3 sub-rvores: Td, Tf e Te onde Td = {D, G, H} Tf = {F, I} Te = {E}

5 de 6

EXERCCIOS
Dada a rvore T abaixo:

Responda:
a) Qual a raiz da rvore? b) Quais so os nodos terminais? c) Qual o grau da rvore? d) Qual o nvel da rvore? e) Quais so os nodos descendentes do nodo D ? f) Quais so os nodos ancestrais do nodo # ? g) Os nodos 4 e 5 so nodos irmos? h) H caminho entre os nodos C e S? i) j) l) Qual o nvel do nodo 5? Qual o grau do nodo A? Descreva todas as sub-rvores de todos os nveis da rvore:

k) Quais so as sub-rvores da rvore?

6 de 6

Você também pode gostar