Capítulo 7 –
Estruturas de
dados do tipo
árvore
slide
slide
slide
slide
1111
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
As estruturas de dados do tipo árvore são não
lineares, ou seja, os elementos que as
compõem não estão armazenados de forma
sequencial e também não estão todos
encadeados.
slide
slide
slide
slide
2222
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Árvores
slide
slide
slide
slide
3333
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Árvore binária
Conjunto finito de elementos, em que
cada um é denominado nó e o primeiro é
conhecido como raiz. Pode estar vazio ou
ser particionado em três subconjuntos:
1º subconjunto (nó raiz), 2º subconjunto
(sub-árvore direita) e 3º subconjunto
(sub-árvore esquerda).
slide
slide
slide
slide
4444
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
slide
slide
slide
slide
5555
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
As árvores binárias podem ser ilustradas de
três formas:
slide
slide
slide
slide
6666
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Propriedades da árvore binária:
a) Todos os nós de uma sub-árvore direita são
maiores que o nó raiz.
b) Todos os nós de uma sub-árvore esquerda
são menores que o nó raiz.
c) Cada sub-árvore é também uma árvore
binária.
d) O grau de um nó representa o seu número
de sub-árvores.
slide
slide
slide
slide
7777
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
e) Na árvore binária, o grau máximo de um nó é 2.
f) O grau de uma árvore é igual ao máximo dos
graus de todos os seus nós.
g) Uma árvore binária tem grau máximo igual a 2.
h) Nó pai: nó acima e com ligação direta a outro nó.
i) Nó filho: nó abaixo e com ligação direta a outro
nó. São os nós raízes das sub-árvores.
j) Nós irmãos: são que possuem o mesmo nó pai.
k) Nó folha ou terminal: nó que não possui filhos.
slide
slide
slide
slide
8888
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Graus dos nós de uma árvore binária
slide
slide
slide
slide
9999
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
l) Nós ancestrais: estão acima de um nó e têm
ligação direta ou indireta.
slide
slide
10
10
slide
10
slide
10
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
m) Nós descendentes: estão abaixo de um nó e
possuem ligação direta ou indireta.
slide
slide
11
11
slide
11
slide
11
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
n) Nós descendentes direito: estão abaixo de um
nó, possuem ligação direta ou indireta e fazem
parte da sub-árvore direita.
slide
slide
12
12
slide
12
slide
12
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
o) Nós descendentes esquerdo: estão abaixo de um
nó, possuem ligação direta ou indireta e fazem
parte da sub-árvore esquerda.
slide
slide
13
13
slide
13
slide
13
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
p) Nível de um nó: distância do nó raiz.
q) Altura ou profundidade da árvore: nível mais
distante da raiz.
slide
slide
14
14
slide
14
slide
14
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
r) Expressão que representa o número máximo de
nós em um nível da árvore binária = 2n, onde n é o
nível em questão.
slide
slide
15
15
slide
15
slide
15
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
s) Árvore estritamente binária: árvore em que todos
os nós têm 0 ou 2 filhos.
t) Expressão que representa o número de nós de
uma árvore estritamente binária = 2n−1, onde n é o
número de nós folha.
slide
slide
16
16
slide
16
slide
16
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
u) Árvore completa: todos os nós com menos de
dois filhos ficam no último e no penúltimo nível.
slide
slide
17
17
slide
17
slide
17
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
v) Árvore cheia: árvore estritamente binária e
completa.
slide
slide
18
18
slide
18
slide
18
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Na inserção, as propriedades da árvore
devem ser obedecidas e todo novo nó é
sempre uma folha.
Na remoção, o filho da direita, que é o mais
velho, assume o lugar do nó pai.
Na consulta (em ordem, pré-ordem e pósordem), todos os nós são listados, alterandose apenas a ordem.
slide
slide
19
19
slide
19
slide
19
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
- Consulta em ordem: cada árvore é mostrada
com o ramo da esquerda, a raiz e
posteriormente o ramo da direita.
- Consulta pré-ordem: cada árvore é mostrada
com a raiz, o ramo da esquerda e
posteriormente o ramo da direita.
- Consulta pós-ordem: cada árvore é mostrada
com o ramo da esquerda, o ramo da direita e
posteriormente a raiz.
slide
slide
20
20
slide
20
slide
20
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Consultas em um árvore binária
slide
slide
21
21
slide
21
slide
21
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Análise da complexidade
As árvores em que cada nó possui um único
filho têm altura máxima (igual a n).
Segundo Markenzon (1994), uma árvore binária
completa com n > 0 nós possui altura mínima h
= 1 + log n .
slide
slide
22
22
slide
22
slide
22
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
slide
slide
23
23
slide
23
slide
23
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Na inserção, o nó sempre é inserido em uma folha,
e deve percorrer todos os nós desde a raiz, até
chegar a uma folha e acrescentar um filho, gastando
nisso a altura da árvore, ou seja, O(log n).
Na remoção, o pior caso é quando o nó está em
uma folha no nível mais baixo. Gasta-se a altura da
árvore para encontrá-lo, em uma árvore de altura
mínima, e algumas operações de atualização de
ponteiros, gerando complexidade O(log n).
slide
slide
24
24
slide
24
slide
24
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Árvore AVL
Criada em 1962 por Adelson-Velsky e
Landis, é uma árvore binária balanceada
que obedece a todas as propriedades da
árvore binária e em que cada nó apresenta
diferença de altura entre as sub-árvores
direita e esquerda de 1, 0 ou –1.
slide
slide
25
25
slide
25
slide
25
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Árvore AVL
slide
slide
26
26
slide
26
slide
26
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Se a diferença de altura entre as sub-árvores de um nó é
maior que 1 ou menor que –1, a árvore está
desbalanceada e haverá uma rotação.
slide
slide
27
27
slide
27
slide
27
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Análise da complexidade
O custo das operações é semelhante ao das árvores
binárias.
Ao se inserir um novo nó u, o pai desse nó (chamado v)
terá a altura de uma de suas sub-árvores alterada. É
necessário checar se a sub-árvore de raiz v está
desbalanceada. Isso se faz subtraindo-se as alturas das
duas sub-árvores de v, cujos valores estão armazenados
no próprio nó v. Em caso de desbalanceamento, deve-se
realizar uma rotação simples ou dupla.
slide
slide
28
28
slide
28
slide
28
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Outros nós (além do v) no caminho de v até a raiz
podem também ficar desbalanceados e a verificação
deverá ser feita. O percurso do nó até a raiz é feito
em O(log n) passos.
A exclusão de algum nó também pode ser feita em
O(log n) passos. Depois, deve-se verificar se a árvore
ficou desbalanceada e examinar os nós no caminho
da raiz até alguma folha. O número de rotações
necessárias pode alcançar a ordem O(log n).
slide
slide
29
29
slide
29
slide
29
2011
2011
Pearson
Pearson
Prentice
Prentice
Hall.
Hall.
Todos
Todos
direitos
direitos
reservados.
reservados.
©
2011
Pearson
Prentice
Hall.
Todos
os
direitos
reservados.
©©©
2011
Pearson
Prentice
Hall.
Todos
ososos
direitos
reservados.
Download

Slides