Escolar Documentos
Profissional Documentos
Cultura Documentos
rvores
Prof. Eduardo Alchieri
rvores
(introduo)
"rvores
Elementos (n$s)
E!emplo de rvore
Quantas subrvores existem na rvore acima?
Quais so as subrvores?
Quais ns so as razes das subrvores da rvore acima?
Quais ns so considerados ns internos?
Quais ns so considerados ns externos (ol!as"?
rvores
(subrvores)
3erminologia
E!emplo
89vel <
89vel ;
89vel =
89vel >
5rdem1 ?
Altura1 ?
rvores !rias
(definio)
#efini.o
5 con@unto va&ioA ou
#efini.o
E!emplo1
#
$
%
&
&'
(
&&
)
'
2
raiz da rvore
raiz da sae raiz da sad
#ercursos em rvores
(percursos)
Percurso em profundidade
Percurso em largura
#ercursos em rvores
(percursos)
Algoritmo
preGordem(8o rai&)H
2e (rai& null) ento retorneA
processa(rai&)A
para cada su0rvore sa da rai&, fa.a1
preGordem(sa)A
#ercursos em rvores
(percursos)
Fisite,processe a rai&A
Algoritmo
emGordem(8o rai&)H
2e (rai& null) ento retorneA
emGordem(rai&.esuerda)A
processa(rai&)A
emGordem(rai&.direita)A
#ercursos em rvores
(percursos)
Fisite,processe a rai&A
Algoritmo
posGordem(8o rai&)H
2e (rai& null) ento retorneA
para cada su0rvore sa da rai&, fa.a1
posGordem(sa)A
processa(rai&)A
#ercursos em rvores
(percursos)
Percurso em largura
Algoritmo
largura(8o rai&)H
f.enfileire(rai&)
Enuanto f no estiver va&ia, fa.a1
no B f.desenfileire()A
processa (no)A
para cada filho fi de no (da esuerda para a
direita), fa.a1
f.enfileire(fi)A
#ercursos em rvores
(percursos)
E!emplo
Pr'ordem1 A,C,6,#,E,-,*,D,I
5rdem1 C,6,A,-,E,*,#,I,D
P$s'ordem1 6,C,-,*,E,I,D,#,A
Iargura1 A,C,#,6,E,D,-,*,I
A
6
- * I
C #
D E
rvores "inrias de "usca
(definio)
5pera.Ees
6riar
Esva&iar
Inserir
%emover
Cuscar
Etc.
rvores "inrias de "usca
(percursos)
Percurso pr'ordem
Percurso em ordem
Percurso p$s'ordem
Percurso em largura
Enfileire o n$ rai&
#esenfileire o n$ n
Fisite, processa n
Algoritmo1
0usca(rai&,dado)
if (rai& BB null)
return nullA
if(rai&.dado L dado)
return 0usca(rai&.esuerda,dado)A
if(rai&.dado M dado)
return 0usca(rai&.direita,dado)A
return rai&A
rvores "inrias de "usca
(busca)
Procurando um n4mero
rvores "inrias de "usca
(busca)
Inser.o de um novo n$
Inser.o de um novo n$
rvores "inrias de "usca
(insero)
Inser.o de um novo n$
rvores "inrias de "usca
(insero)
%emo.o de um n$
8$ com ; filho
8$ com = filhos
-uso
6$pia
rvores "inrias de "usca
(remoo)
Etc...
rvores "inrias de "usca
(efici%ncia)
2olu.o1 0alanceamento
rvores "inrias "alanceadas
(definio)
Fetor
#2U (#aV,2tout,Uarren)
%u0ro'negra
rvores "inrias "alanceadas
(vetor)
E!emplos1
rvores "inrias "alanceadas
(&'()
Propriedades da rota.o1
%ota.o II simples
J o oposto da rota.o %%
%ota.o %I
Algoritmo minima!1
8a prtica1 =
(heaps 0inrias)
+eaps
5pera.Ees comuns1
Implementa.o
/ma fila de prioridade uma lista de itens na ual cada item est
associado a uma prioridade