ESTRUTURA DE DADOS II
SANTARM PAR
13 de Setembro 2017
RESUMO
Ao utilizar uma das estruturas de rvore balanceada, importante compreender que cada
tipo possui suas particularidades, tendo como foco no desenvolvimento de problemas
especcos. muito utilizado em empresas, onde utiliza mtodos ecientes na insero,
busca ou at remoo de alguma informao. O foco principal resolver problemas de
forma eciente, sempre olhando qual o melhor percurso ou ferramenta para implementar
um sistema. rvores so essenciais na programao, por mostrar a estrutura e como o
programa organizado, tendo uma conexo com to da a programao, ecincia e
interagindo entre o programa atravs de chamadas de funes.
LISTA DE ILUSTRAES
rvore 8 raiz da rvore, ela passa a no ser nula precisando criar uma condio
para vericar se o n menor que raiz ou se n maior que raiz, caso seja menor antes
de inserir feita uma busca para ver se o elemento j existe na rvore, se existir emite um
mensagem dizendo que elemento j existe, se no existir, insere na subrvore
esquerda, se elemento for maior que a raiz insere na subrvore direita. preciso entender
que o valor antes de ser inserido comparado com o n raiz. O n raiz sempre o
primeiro elemento que foi inserido, o novo elemento a ser inserido sempre ser um n
folha.
Para efetuar uma busca preciso iniciar examinando a raiz, vericando se o valor
igual a raiz, se for igual retorna a vericao encontrando o valor, se for diferente
compara se o valor menor que a raiz se for menor percorre a subrvore esquerda
fazendo comparaes at encontrar, encontrando retorna o valor, se no tiver o valor na
rvore,informa que elemento no encontrado!. Quando o elemento maior que a raiz,
em vez de buscar na subrvore esquerda, faz-se uma varredura na subrvore direita,
comparado os elementos do n com o elemento que est sendo buscado, se encontrar o
elemento retorna elemento encontrado!, caso contrrio informa que elemento no foi
encontrado na rvore.
EXCLUSO:
Primeiro feita uma busca para vericar se o elemento est na rvore, fazendo
comparaes primeiro com a raiz, at chegar na folha, comparando se elemento maior
ou menor que o elemento anterior. Existem trs casos:
Excluso de um n com dois lhos: pode ser feito de duas formas diferentes. A primeira
substituindo valor entre o valor a ser retirado com o valor sucessor (o n mais a esquerda
da subrvore direita) ou p elo valor antecessor (o n mais direita da subrvore
esquerda), substituindo os valores e removendo o n agora na folha, como exemplo a
seguir da gura 1.3. O n com valor 30 ser removido, mas possui sucessor e antecessor
imediato 40 e 35, foi feita uma troca entre o 35 e o 30, tornando o 35 n pai do 40,
recebendo como lho o n 37 que uma folha e o 45 que j era lho do 40.O percurso
que uma rvore percorre p o de ser de trs formas: em ordem, pr ordenou ps ordem.
Uma caracterstica interessante quando se faz um percurso em ordem em uma rvore
binria de busca. Ao efetuar esse percurso os valores
CAPTULO 1. RVORE 9
2 RVORE AVL
A rvore AVL surgiu nos meados de 1962 p elos matemticos Adelson Velskii e
Landis que proporo em vez de utilizar um balanceamento esttico em uma rvore binria
de pesquisa seria preciso reorganizar uma rvore, calculando a altura da rvore. No
balanceamento esttico era preciso pegar uma rvore binria e reorganizar utilizando o
percurso em ordem sobre a rvore, gerando um vetor ordenado, criando uma rvore
binria de pesquisa. (EGYPTO,2004) descreve em sua apostila de estruturas de dados
que um balanceamento esttico consistem em: construir uma nova verso de uma rvore
binria de pesquisa, reorganizando-a. Essa reorganizao possui duas etapas:
1. Percurso in-ordem sobre a rvore, para gerar um vetor ordenado com o contedo de to
dos os seus ns. 2. Criao de uma ABP a partir desse vetor, da seguinte forma: a)
Identica-se o n mdio do vetor, que passa a ser considerado a raiz da ABP que est
sendo criada. b) Cada uma das metades do vetor tratada analogamente, de mo do que
cada n intermedirio ser a raiz de uma sub-rvore. (2004, p.57)
Uma rvore balanceada no seria to fcil de ser feita, por ser preciso fazermos
dicaes iniciais que em uma rvore binria funcionaria muito b em, mas com uma
decincia em relao ao tempo. J o balanceamento dinmico apesar de ter um grau de
diculdade maior que uma rvore binria de busca proporciona com que a busca seja
mais rpida ou eciente. (EGYPTO,2004) descreve p or sua vez o balanceamento
dinmico:
FB=he hd
ou
FB=hd he
preciso denir qual dos dois ser utilizado, sendo o mais comum o primeiro. FB
signica o clculo do fator de balanceamento que igual ao he (altura da subrvore
esquerda) hd (altura da subrvore direita), sendo possvel o segundo exemplo, tendo
apenas que inverter a ordem da explicao. Sendo balanceada quando os valores do FB
-1, 0 ou 1. -1 o corre quando a subrvore direita mais alta que a esquerda.
1.typedef_telem;
2 . t y p e d e f s t r u c t n o { / / nome d a e s t r u t u r a
3 . s t r u c t n o e s q ;
4.teleminfo;//informaoquecolocarnon.
5 . i n t b a l ; / / f a t o r d e b a l a n c e a m e n t o ( FB )
6 . s t r u c t n o d i r ;
7.}tno;//apelidodaestrutura
8 . t y p e d e f t n o t a v l ;
preciso denir qual dos dois ser utilizado, sendo o mais comum o primeiro. FB
signica o clculo do fator de balanceamento que igual ao he (altura da subrvore
esquerda) hd (altura da subrvore direita), sendo possvel o segundo exemplo, tendo
apenas que inverter a ordem da explicao. Sendo balanceada quando os valores do FB
-1, 0 ou 1. -1 o corre quando a subrvore direita mais alta que a esquerda. 0
subrvore esquerda e direita so da mesma altura. 1 quando a subrvore esquerda
mais alta que a direita. Quando o fator menor que -1 ou maior que 1, ela est
desbalanceada.
Esta rvore uma rvore binria de altura equilibrada. (BARANAUS,a) descr no
site que uma rvore AVL balanceada quando: Atravs do balanceamento da rvore as
operaes de busca, insero e remoo em uma rvore com n elementos podem ser
efetuadas em O(log2n), mesmo no pior caso. Um teorema provado por Adelson Velskii e
Landis garante que a rvore balanceada nunca ser 45% mais alta que a correspondente
rvore perfeitamente balanceada, independente do nmero de ns existentes.
1.typedef_telem;
2 . t y p e d e f s t r u c t n o { / / nome d a e s t r u t u r a
3 . s t r u c t n o e s q ;
4.teleminfo;//informaoquecolocarnon.
5 . i n t b a l ; / / f a t o r d e b a l a n c e a m e n t o ( FB )
6 . s t r u c t n o d i r ;
7.}tno;//apelidodaestrutura
8 . t y p e d e f t n o t a v l ;
EGYPTO, C. Estrutura de Dados. [S.l.]: CFETP, 2004. Citado 2 vezes nas pginas 10
e12.