algorítmos e estrutura de dados iii carlos oberdan rolim ciência da computação sistemas de...
TRANSCRIPT
![Page 1: Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022062404/552fc12a497959413d8ce784/html5/thumbnails/12.jpg)
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