Anda di halaman 1dari 10

UNIVERSIDADE FEDERAL DO OESTE DO PAR

INSTITUTO DE ENGENHARIAS E GEOCINCIAS


CURSO DE BACHARELADO INTERDISCIPLINAR EM SISTEMA DE INFORMAO

ESTRUTURA DE DADOS II

ELDIVIM DOS SANTOS SILVA

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

Figura 1 Mo delo de uma rvore ................................................................................................... 6

Figura 2 Excluso do n pai .......................................................................................................... 8

Figura 3 Excluso do n lho ........................................................................................................ 9

Figura 4 Rotao a direita ........................................................................................................... 13

Figura 5 Rotao dupla a direita ................................................................................................. 14

Figura 6 Rotao a esquerda ...................................................................................................... 14

Figura 7 Rotao dupla a esquerda ............................................................................................ 15

Figura 8 rvore Rubro-Negra ...................................................................................................... 18

Figura 9 Pseudo-c digo da insero RB ................................................................................... 20

Figura 10 Pseudo-c digo da remo o RB ................................................................................ 22

Figura 11 Unidade de um disco tpico ......................................................................................... 25

Figura 12 rvoreB ....................................................................................................................... 25

Figura 13 Pseudo c digo rvore B ............................................................................................ 26

Figura 14 Tcnicas de Insero .................................................................................................. 27

Figura 15 Tcnicas de remoo ................................................................................................ 30


CAPTULO 1.

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 na folha: o elemento a ser removido uma folha.

Excluso de um n com um lho: exclui o n, e o n av passa a fazer ligao com o n


neto, ou seja, excludo o n pai da folha. possvel ver a excluso na gura 2.
FIGURA 2: EXCLUSO DO N PAI

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

Figura 3: Excluso do n lho dos ns aparecem em ordem crescente. A operao


percorre tem como objetivo percorrer a rvore numa dada ordem enumerando os seus
ns.

Quando um n enumerado, dizemos que ele foi visitado.

Percurso em ordem: primeiro percorre a subrvore esquerda at chegar na folha,


comea a visita percorrendo a subrvore esquerda, visita a raiz e percorre a subrvore
direita, imprimindo de forma ordenada esquerda, raiz, direita.

Percurso pr ordem: primeiro visita a raiz, percorre a subrvore esquerda e a subrvore


direita, fazendo uma impresso de forma a imprimir primeiro raiz, esquerda, direita.
Percurso ps ordem: percorre a subrvore esquerda, percorre a subrvore direita e por
ltimo imprime a raiz, a ordem ca: esquerda, direita e raiz. O nvel de um n raiz 0 e os
outros nveis so maiores uma unidade do nvel pai. A altura do n o nmero de ns do
maior caminho. Uma rvore binria tem 0, 1 ou dois lhos o pai, a raiz p o de ser nula, o
pai p o de ter 0 lhos, isso signica que n folha, se tiver 1 lho n pai e no mximo
dois lhos.

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:

Em 1962, dois matemticos russos (Adelson-Velskii e Landis) deniram uma nova


estrutura para balanceamento de rvores ABP e deram o nome de AVL. Esta nova
estrutura p ermite o balanceamento dinmico da rvore e com boa performance. Fator de
Balanceamento (FB) de um N.
a altura da subrvore direita do n menos a altura da subrvore esquerda do n.
(2004, p.57). rvore AVL uma rvore que possui as propriedades de uma rvore binria
de busca, contendo um fator de balanceamento para deixar a rvore balanceada. Esta
rvore tem a nalidade de manter a rvore balanceada, rebalancendo as subrvores
quando for preciso, ou a rvore to da, utilizando o fator de balanceamento para calcular. A
rvore AVL altamente balanceada. O diferencial da AVL para a ABB a altura da
rvore, mantendo o mais prximo possvel balanceada, diferindo apenas em -1, 0 ou 1 na
altura da subrvore esquerda da direita, caso contrrio feita um dos tipos de rotao.A
altura O(log n), utilizando o fator de balanceamento que calculado da seguinte forma:

FB=he hd

ou

FB=hd he

CAPTULO 2. RVORE AVL 11

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.
preciso denir a estrutura, com nome, a subrvore esquerda, a subrvore direita,
um fator de balanceamento e a informao que ser colo cada dentro do n. Conforme
trechos do cdigo a seguir, que mostra uma estrutura de rvore.

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 ;

Aps denir a estrutura preciso criar as funes. Ao inserir ou remover vrios ns


acaba o correndo uma diferena entre os nveis das folhas, dando diferena na
performance dos acesso aos ns, perdendo a ecincia da busca, tornando uma rvore
degenerada. Uma rvore balanceada possui a mesma altura dos dois lados da rvore,
mas por ser dicultosa aceita-se que uma rvore est balanceada quando o FB difere em
no mximo 1 para mais ou para menos.

CAPTULO 2. RVORE AVL 11

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.

preciso denir a estrutura, com nome, a subrvore esquerda, a subrvore direita,


um fator de balanceamento e a informao que ser colo cada dentro do n. Conforme
trechos do cdigo a seguir, que mostra uma estrutura de rvore.

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 ;

Aps denir a estrutura preciso criar as funes. Ao inserir ou remover vrios ns


acaba o correndo uma diferena entre os nveis das folhas, dando diferena na
performance dos acesso aos ns, perdendo a ecincia da busca, tornando uma rvore
degenerada. Uma rvore balanceada possui a mesma altura dos dois lados da rvore,
mas por ser dicultosa aceita-se que uma rvore est balanceada quando o FB difere em
no mximo 1 para mais ou para menos.
REFERNCIAS

BAILEIRO, R. Estrutura de dados. [S.l.]: Seses, 2015. v. 1aedio. Citado na pgina 6.

BARANAUS, J. A. Arvores AVL. Disp onvel em: < http://www.Dcm.clrp.usp.br/

~augusto/teaching/aedi/AED- I- Arvores- AVL.pdf.> Citado na pgina 11.

BARANAUS, J. A. Arvores AVL. Citado 2 vezes nas pginas 24 e26.

CORMEM, T. H. Algoritmos. Teoria e prtica. [S.l.]: Elsevier, 2002. Traduo da segunda

edio. Citado 5 vezes nas pginas 17,18,19,21 e24.

EGYPTO, C. Estrutura de Dados. [S.l.]: CFETP, 2004. Citado 2 vezes nas pginas 10

e12.

MACHADO, C. rvores AVL. [S.l.]: UFRGS, 2008. Citado na pgina 16.

Anda mungkin juga menyukai