Algorítmos e estrutura de dados III
Carlos Oberdan Rolim
Ciência da Computação
Sistemas de Informação
Percurso em árvores binárias
Percurso
Percurso é uma visita sistemática a cada um dos nós da árvore
É necessário ter métodos para percorrer os elementos da árvore
O que significa “visitar” um nó?
é uma abstração
pode ser: imprimir, alterar dados, gravar em arquivo ... ...
Percurso (cont...)
Objetivo: visitar os nós da árvore exatamente uma vez
muitas vezes será necessário passar pelos nós sem visitá-los
Passos no percurso:
visitar a raíz
fazer um percurso na sub-árvore esquerda
fazer um percurso na sub-árvore direita
Percurso (cont...)
Os três passos compõem um algoritmo recursivo
resta saber qual a ordem de execução dos mesmos
Tipos de percurso
pre-ordem
in-ordem
pos-ordem
Percurso pre-ordem / Préfixa
Ordem dos passos
Visitar a raíz
percorrer sub-árvore esquerda, em pre-ordem
percorrer sub-árvore direita, em pre-ordem
Algoritmo:
Procedimento pre ( p )visita ( p )Se ( p→esq != NULL ) então
pre ( p →esq )Se ( p→dir != NULL ) então
pre( p →dir )
Percurso pre-ordem (cont...)
A – B – D – G – C – E – H – I – F
Percurso in-ordem / Infixa
Ordem dos passos
percorrer sub-árvore esquerda, em in-ordem
Visitar a raíz
percorrer sub-árvore direita, em in-ordem
Algoritmo:
Procedimento in ( p )Se ( p→esq != NULL ) então
in ( p →esq )visita ( p )Se ( p→dir != NULL ) então
in ( p →dir )
Percurso in-ordem (cont...)
D – G – B – A – H – E – I – C – F
Percurso pos-ordem / Pósfixa
Ordem dos passos
percorrer sub-árvore esquerda, em pos-ordem
percorrer sub-árvore direita, em pos-ordem
Visitar a raíz
Algoritmo:
Procedimento pos ( p )Se ( p→esq != NULL ) então
pos ( p →esq )Se ( p→dir != NULL ) então
pos ( p →dir )visita ( p )
Percurso pos-ordem (cont...)
G – D – B – H – I – E – F – C – A
Resultados
A
B C
Formas de passeio Saídas
Em-ordem / Infixa B A C
Pré-ordem / Préfixa A B C
Pós-ordem / Pósfixa B C A
Top Related