Escolar Documentos
Profissional Documentos
Cultura Documentos
Árvores
São estruturas de dados (não-lineares) que caracterizam uma relação entre os
dados, à relação existente entre os dados é uma relação de hierarquia ou de
composição (um conjunto é subordinado a outro).
Definição
b) Os demais nós formam n >= 0 conjuntos disjuntos T1, T2, ... Tn, onde cada um
destes subconjuntos é uma árvore. As árvores Ti (i >= 1 e i <= n) recebem a
denominação de sub-árvores.
Terminologia
Grau
Indica o número de sub-árvores de um nó.
Nível
Exemplo:
Altura
É o nível mais alto da árvore. Na árvore acima, a altura é igual a 2.
Floresta
É um conjunto de zero ou mais árvores disjuntas, ou seja, se for eliminado o nó
raiz da árvore, as sub-árvores que restarem chamam-se de florestas.
(A(B()C(D(G()H())E()F(I()))))
AA 2 B 0 C 3 D 2 G 0 H 0 E 0 F 1 I 0
Uma árvore binária (T) é um conjunto finito de nós que pode ser vazio ou pode
ser dividida em três sub-conjuntos disjuntos: raiz, sub-árvore esquerda (Te) e sub-
árvore direita (Td). São estruturas onde o grau de cada nó é menor ou igual a dois,
ou seja, no máximo grau 2. O número máximo de nós no nível i é 2i.
São árvores onde cada nó tem no máximo dois filhos (grau máximo 2), desta
forma, obtém-se uma estrutura apropriada para busca binária, pois sabe-se que
existe, para cada nodo, duas sub-árvores (Te e Td).
Para cada nó da árvore associa-se uma chave (dado, valor ou informação) que
permite a realização de uma classificação. A Construção da árvore deve ser de forma
que na sub-árvore à esquerda (Te) da raiz só existam nós com chaves menores que a
chave da raiz. E a sub-árvore à direita (Td) só pode conter nós com valores maiores
que a raiz. Com esta reestruturação da árvore, a busca de um determinado nó torna-
se trivial. O acesso aos dados pode ser feito então através de funções recursivas.
Nível Nodos
(K)
A 0 1
B C 1 2
D E F 2 4
Propriedades
2) O número máximo de nodos em uma árvore binária com altura k é 2k+1-1, para k >= 0;
Expressão: (3 + 6) * (4 – 1) + 5
3 Representações
7.3.1 Representação por Contigüidade Física (Adjacência)
Exemplo:
Observações:
3) O filho à direita de i está em 2i+1. Se 2i+1 <= n. Se 2i+1 > n, então tem filho à direita.
Vantagens:
Desvantagem:
1) Visitar a raiz;
Exemplo:
Caminhamento: ABDECFG
2) Visitar a raiz;
Caminhamento: DBEACGF
Prof. Airton J. S. Garcia
10
Faculdade Pitágoras
Estrutura de Dados não Lineares
Árvores
3) Visitar a raiz.
Caminhamento: DEBGFCA
Uma árvore de busca binária (BST - Binary Search Tree) é uma árvore
binária cujas chaves (informações ou dados) aparecem em ordem crescente quando a
árvore é percorrida em ordem in-Fixado (esquerda -> raiz -> direita, ou seja,
caminhamento ERD). Onde a chave de cada nó da árvore deve ser:
maior ou igual que qualquer chave na sua sub-árvore esquerda;
menor ou igual que qualquer chave na sua sub-árvore direita.
Balanceamento em Árvores
Diz-se que uma árvore está balanceada (equilibrada), se todos os nós folhas
estão à mesma distância da raiz, ou seja, uma árvore é dita balanceada quando as
suas sub-árvores à esquerda e à direita possuem a mesma altura. Quando uma
árvore não está balanceada, chama-se degenerada.
Definição: Uma árvore binária vazia é sempre balanceada por altura. Se T não é
vazia e Te e Td são sub-árvores da esquerda e direita, respectivamente, então T é
balanceada por altura se: a) Te e Td são balanceadas por altura; b) altura Te –
altura Td for igual a 0, 1 ou -1.
Note que nas quatro situações acima (a, b, c e d), o fator de balanceamento de
algum nodo ficou fora da faixa [-1..1], ou seja, algum nodo teve o Fator de
Balanceamento (Fb) 2 ou -2.
Dicas:
a) Remoção do nó: 10
b) Remoção do nó: 40
c) Remoção do nó: 10
d) Remoção do nó: 40