Árvores Binárias e Encaminhamentos Katia Guimarães katia@cin.ufpe.br katia@cin.ufpe.br
Árvores Binárias Acesso seqüencial Embora tenham a vantagem de permitir alocação dinâmica, as listas ligadas apresentam um problema: Acesso seqüencial katia@cin.ufpe.br
Árvores Binárias Podemos, por exemplo, usar Mas nós podemos definir estruturas mais flexíveis usando apontadores. Podemos, por exemplo, usar dois apontadores por nó: ESQUERDA DIREITA (Dados) katia@cin.ufpe.br
Árvores Binárias Podemos construir uma lista duplamente ligada: (ainda linear) Ou construir uma árvore binária: katia@cin.ufpe.br
Árvores Binárias Raiz ancestral pai filho à esq. filho à dir. descendente Folhas: nós sem filhos katia@cin.ufpe.br
Sub-árvores Árvores que contêm um nó e todos os seus descendentes. katia@cin.ufpe.br
Encaminhamento em Árvores Encaminhamentos sistemáticos em árvore baseiam-se na ordem em que a raiz é visitada com relação a seus descendentes. Têm normalmente o mesmo custo. A diferença está no efeito produzido. Muitas vezes, para uma situação há um encaminhamento mais adequado. katia@cin.ufpe.br
Pré-ordem - A raiz é visitada antes dos seus descendentes. 1 2 5 3 4 6 - Depois as sub-árvores da raiz são visitadas em pré-ordem da esquerda para a direita. 1 2 5 3 4 6 7 katia@cin.ufpe.br
Pré-ordem Um exemplo um pouco maior: 1 2 9 3 6 10 13 4 5 7 8 11 12 14 15 katia@cin.ufpe.br
In-ordem - Visitar a sub-árvore à esquerda In-ordem. 4 2 6 1 3 5 7 - Visitar a raiz. (entre as sub-árvores) - Visitar a sub-árvore à direita In-ordem. 4 2 6 1 3 5 7 katia@cin.ufpe.br
In-ordem Um exemplo um pouco maior: 8 4 12 2 6 10 14 1 3 5 7 9 11 13 15 katia@cin.ufpe.br
Pós-ordem - A raiz é visitada depois dos seus descendentes. 7 3 6 1 2 As sub-árvores da raiz são visitadas em pós-ordem da esquerda para a direita. - A raiz é visitada depois dos seus descendentes. 7 3 6 1 2 4 5 katia@cin.ufpe.br
Pós-ordem Um exemplo um pouco maior: 15 7 14 3 6 10 13 1 2 4 5 8 9 11 12 katia@cin.ufpe.br
Encaminhamento em Árvores Além dos encaminhamentos em - pré-ordem, - in-ordem e - pós-ordem, mais tarde veremos outros encaminhamentos para árvores enraizadas livres (não necessariamente binárias). katia@cin.ufpe.br
Efeito dos Encaminhamentos Pense numa árvore que representa uma expressão aritmética: / - * * 2 a b 2 * c 4 a katia@cin.ufpe.br