Escolar Documentos
Profissional Documentos
Cultura Documentos
Introduo
Heverton B. de Macdo
Junho de 2010
rvores
Usa-se, frequentemente, uma rvore para representar uma hierarquia.
Exemplo: Organograma
Presidente Raiz da rvore
Vice-pres. Diviso A
Vice-pres. Diviso B
Gerente Depto. A1
Gerente Depto. A2
Gerente Depto. B1
Folha Folhas
Empregado
Empregado
Empregado
Empregado
Empregado
Empregado
rvores
Extremamente teis para determinados tipos de computao. Por exemplo:
Representao de expresses aritmticas; Armazenamento eficiente tornando buscas e inseres mais eficientes.
Possui um ou mais campos para representar o elemento e outros n campos para indicar outros ns ou subrvores.
T r TT 2 { 1 } T n
com as seguintes propriedades:
1.
2.
Um n especial da rvore, r, chamado de raiz da rvore; O restante da rvore particionada em n > 0 subconjuntos, T1, T2, ..., Tn, cada um dos quais sendo uma rvore.
T {T 2 , 1T , n r , , T }
Exemplo 1:
Ta {A}
rvore minimal
T = B,C
Na forma grfica:
B C
C G T = A,B, D , , E F , H I , , J , ,
Na forma grfica:
A C E H
F
I
G J
A A
Grau 0 Folha
A C B C D E
Grau 2
Grau 4
A
B
C
E F G
Caminho A C; A B D; A C F H; R1 ... Rk
Comprimento 1 2 3 k-1
A
B D E
Nvel 0
C
F G
Nvel 1
Nvel 2
Nvel 3
A
B D E
C
F G
OBS: A altura de uma rvore corresponde ao nvel mais alto de uma rvore.
rvores N-reas
Todos os ns possuem o mesmo grau N.
Por exemplo:
A B C C E H
A
B D E
F
I
G J
rvores Binrias
rvores binrias so rvores N-reas com valor de N igual a 2.
De forma convencional, todos os ns (T) possuem um filho esquerda (TL) e um filho direita (TR). Assim, temos:
T r T,T} {, L R
Se o n que est sendo inserido for maior que o n raiz, ele deve ser inserido a direita da raiz. Caso contrrio, o n deve ser inserido a esquerda da raiz.
7 3 2
O elemento 7 deve ser O inserido a 3 elemento direita de 5. deve ser inserido. O elemento 2 deve ser inserido a esquerda de 3.
Pr-ordem;
Em-ordem;
Visita a subrvore esquerda; Visita o n raiz; Visita a subrvore direita;
Ps-ordem;
Visita a subrvore esquerda; Visita a subrvore direita; Visita o n raiz;
10 5 15
Percurso: 10, 5, 3, 9, 15
10 5 15
Percurso: 3, 5, 9, 10, 15
10 5 15
Percurso: 3, 9, 5 15, 10
Se o n a ser removido no possui subrvore esquerda ele deve ser substitudo pela subrvore direita. Caso contrrio, se o n a ser removido no possui subrvore direita ele deve ser substitudo pela subrvore esquerda.
2.
3.
Caso contrrio o n a ser removido deve ser substitudo pelo maior elemento da subrvore esquerda.
5 1 7
5 possui subrvore esquerda ele deve ser substitudo pela subrvore direita. 1 7
-1
3
4
-1
3
4
5 4 7
no possui subrvore esquerda ele deve ser substitudo pela subrvore direita. 4 7
2
-1 3
n a ser removido no possui 2 subrvore direita ele deve ser substitudo pela subrvore esquerda.
-1
5 1 7
-1
3
4
ser removido no possui subrvore direita -1 3 ele deve ser substitudo pela subrvore esquerda.
5
1 -1 3 7
Maior caminho para subrvore Verificao para o n 5 1 esquerda do n 1 corresponde 5 a 1. MCSubE(1)=1; 2. MCSubE(5)=2; Maior caminho para subrvore direita do n 5 corresponde a 1 1. MCSubD(5) = 1; MCSubD(1)
|MCSubE(5) MCSubD(5)| <= 1 |MCSubE(1) MCSubD(1)| |2 1| <=1 |1 |1| <= 1 |0| Verdadeiro
5 1 -1 3 7
O nmero de descendentes da subrvore esquerda do n 5 Verificando o n 5 corresponde a 3. QSubE(5)=3; O nmero de descendentes da subrvore direita do n 5 corresponde a 1. QSubD(5)=1; |QSubE(5) QSubD(5)| <= 1 |3 1| <=1 |2| <= 1 Falso
Exerccios
1 Considere a insero da seguinte seqncia de valores em uma rvore binria ordenada: 10, 5, 15, 7, 12, 3, 13
a) b)
Monte a representao grfica desta rvore; Escreva a rvore conforme a notao: T={r,{TL}, {TR}};
Exerccios (Cont.)
2 Considere a seguinte rvore:
A
B D E C F G
a) Qual o grau dessa rvore? b) Qual o grau do no A?
Exerccios (cont.)
3 Considere a seguinte rvore binria:
5 1 -1 3 7
a) Escreva os elementos da rvore ao realizar um percurso EmOrdem. b) Escreva os elementos da rvore ao realizar um percurso PsOrdem. c) Escreva os elementos da rvore ao realizar um percurso PrOrdem.
Exerccios (cont.)
4 Considere a seguinte rvore binria:
5 1 -1 3 7
a) Caso fosse inserido o elemento (n) 6 nessa rvore, em qual local ele seria inserido. b) Considerando que o elemento 5 ser removido, reescreva a rvore com essa alterao.
at um n qualquer;
Mostrar o caminho de um n
qualquer at o n raiz; Encontrar a altura de uma rvore; Mostrar o(s) n(s) que est(o) em
raiz.