Escolar Documentos
Profissional Documentos
Cultura Documentos
Árvores
Prof. Ricardo J. G. B. Campello
Créditos
Parte deste material consiste de:
Adaptações dos slides gentilmente cedidos
pela Profa. Maria Cristina F. de Oliveira
Adaptados dos originais de Walter Aoiama Nagai
e M. Graças Volpe Nunes
1
Introdução
Problema:
Listas Lineares
Lista Encadeada
Eficiente para inserção e remoção dinâmica de elementos,
mas ineficiente para busca
Lista Seqüencial (ordenada)
Eficiente para busca, mas ineficiente para inserção e
remoção de elementos
Possível Solução:
Árvores
Eficientes para inserção, remoção e busca
Representação não linear...
Introdução
Em computação, uma
árvore é um modelo ABC Computadores
abstrato de uma
estrutura hierárquica.
Trata-se de uma Vendas Produção P&D
estrutura não-linear
constituída de nós
com relações de BR Internacionais Laptops Desktops
parentesco (pai-filho).
Aplicações: Europa Asia EUA
S.O.s (arquivos).
Linguagens (O.O.).
etc
2
Introdução
Árvores são adequadas para representar
estruturas hierárquicas não lineares, como
relações de descendência
pai, filhos, irmãos, etc.
Homer Simpson
Definição RT
T1 T2 ... Tn
Árvore T: conjunto finito de elementos,
denominados nós, nodos ou vértices, tais que:
Caso Contrário:
3
Terminologia
Exemplo
Nós: A, B, C, D, E, F, G
RAIZ da Folhas: E,F,C,G
árvore A
FILHOS
DE A B C D
FILHO
FILHOS DE D
E F DE B G
4
Terminologia
Raiz (root): nó sem pai (A).
Nó Interno: nó com pelo
menos um filho (A, B, C, F).
A
Nó Externo ou Folha: nó
sem filhos (E, I, J, K, G, H, D).
Ancestrais (de um nó): pai B C D
ou ancestrais do pai do nó.
Descendentes (de um nó):
nós que o possuem como E F G H
ancestral.
Sub-Árvore: árvore
I J K
consistindo de um nó e dos
seus descendentes.
Sub-árvore
9
Exemplo
TIOS de F e E ANCESTRAIS DE G
A
NÓS
C D B IRMÃOS
DESCENDENTES
DE A
G F E
10
5
Terminologia
O NÍVEL de um nó X é definido como:
O nível de um nó raiz é 1
O nível de um nó não raiz é dado por
Nível de seu nó PAI + 1
11
Exemplo: NÍVEL 1 A
NÍVEL 2 B C D E
F G H NÍVEL 3 I J K L
Grau de A: 4
M N O NÍVEL 4
Grau de B: 3
Grau de C: 0
Grau de M: 1
P NÍVEL 5 Grau da Árvore: 4
12
6
Terminologia A
Exemplo: A
B C D E
F G H I J K L
ALTURA DE A: 4
ALTURA DE C: 0
M N O
ALTURA DE D: 1
PROF. DE A: 0
P PROF. DE C: 1
PROF. DE D: 1
Altura Árvore = Profundidade Árvore = 4
14
7
Outras Formas de Representação
Representação por Parênteses Aninhados:
( A (B) ( C ( D (G) (H) ) (E) ( F (I) ) ) )
ou seja, uma lista generalizada!!
A
C E
B
F
D H I
G
15
RT
Árvores Binárias (AB)
TE TD
16
8
Árvores Binárias (AB)
A raiz da sub-árvore esquerda (direita) de um nó v,
se existir, é denominada filho esquerdo (direito)
de v.
Pela natureza da árvore binária, o filho esquerdo pode
existir sem o direito, e vice-versa
Exemplo: A
B C
D E F
G H I
17
18
9
Árvore Binária Própria
Também denominada de árvore Aplicações:
estritamente binária, é tal que: Expressões aritméticas.
Cada nó interno possui exatamente Processos de decisão.
2 filhos (não vazios). etc
Denomina-se o par de filhos de:
filho esquerdo (left child), e A
e ≤ 2h
h altura.
h ≥ log2 e
h ≥ log2 (n + 1) − 1
20
10
Árvore Binária Própria
Exemplo de Aplicação:
Árvore de Expressão Aritmética
Árvore Binária associada com uma expressão aritmética
Nós internos: operadores
2 − 3 b
a 1
21
Sim Não
Fundo R. Fixa Aceita Altos Riscos?
Sim Não
Ações Carteira 22
Mista
11
Árvore Binária Completa
Árvore Binária Completa (ABC):
É própria*
Se a profundidade da árvore é d, então cada nó folha está
no nível d ou no nível d+1
Os nós folha no nível d estão todos à direita dos internos
nível d
nível d+1
* Exceção pode eventualmente ser feita ao nó folha mais à direita do último nível, que pode não existir
23
A
C,D,E,F estão no nível 3
(profundidade 2)
B G
C D E F
24
12
Árvore Binária Cheia
Propriedade Importante:
Dada uma ABCC e sua profundidade d (ou altura
h), calcula-se o número n de nós na árvore como:
Nível 1 (d = 0): 1 nó (total = 1 nó)
Nível 2 (d = 1): 2 nós (total = 3 nós)
Nível 3 (d = 2): 4 nós (total = 7 nós)
...
Nível i (d = i−1): 2d nós (total = 2i – 1 = 2d+1 – 1 nós)
Logo: n = 2d+1 – 1 = 2h+1 – 1
25
A A
B C B C
D E D E F
26
13
Árvores Binárias Balanceadas
Árvore Binária Perfeitamente Balanceada
Para cada nó, o no. de nós de suas sub-árvores
esquerda e direita difere em, no máximo, 1
Exemplo: A
B C
D E
27
Exercícios
Prove por contra-exemplo que uma AB própria não é
necessariamente uma AB completa.
Represente a seguinte expressão aritmética em uma
árvore binária própria de expressão aritmética:
( 5 + ( ( 2 / (a + 1) ) − (3 × b) ) ) × ( 10 / c )
Responda com relação à árvore do exercício anterior:
Qual a altura da árvore ?
Qual a profundidade da árvore?
Qual o grau da árvore?
Quais os ancestrais, os descendentes, a profundidade, a
altura, o nível, o grau, o pai, os tios, os irmãos e os filhos do
nó correspondente ao operador de subtração da expressão ?
14
Exercícios
Represente a árvore do exercício anterior via:
Parênteses Aninhados
Diagrama de Venn.
Qual a altura máxima que uma árvore estritamente
binária com 45 nós pode ter? Justifique.
Qual a altura máxima que uma árvore estritamente
binária com 27 nós externos pode ter? Justifique.
Qual a altura mínima que uma árvore estritamente
binária com 43 nós pode ter? Justifique.
Qual a altura mínima que uma árvore estritamente
binária com 30 nós externos pode ter? Justifique.
29
15