algorítmos e estrutura de dados iii carlos oberdan rolim ciência da computação sistemas de...

12
Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação

Upload: internet

Post on 18-Apr-2015

110 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Algorítmos e estrutura de dados III

Carlos Oberdan Rolim

Ciência da Computação

Sistemas de Informação

Page 2: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Percurso em árvores binárias

Page 3: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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 ... ...

Page 4: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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

Page 5: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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

Page 6: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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 )

Page 7: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Percurso pre-ordem (cont...)

A – B – D – G – C – E – H – I – F

Page 8: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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 )

Page 9: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Percurso in-ordem (cont...)

D – G – B – A – H – E – I – C – F

Page 10: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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 )

Page 11: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

Percurso pos-ordem (cont...)

G – D – B – H – I – E – F – C – A

Page 12: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação

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