ANHANGUERA ENSINO SUPERIOR
ANHANGUERA ENSINO SUPERIOR
Faculdades de Valinhos
Faculdades de Valinhos -
-
FAV
FAV
Valinhos, novembro de 2006Valinhos, novembro de 2006
Classifica
Classifica
ç
ç
ão e Pesquisa
ão e Pesquisa
Prof. Dr. Marcelo Augusto Cicogna
C&P
C&P --AULA 9AULA 9
2 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
ESTRUTURA DO CURSO
ESTRUTURA DO CURSO
¾¾ Cronograma de Aulas -Cronograma de Aulas - Quarto BimestreQuarto Bimestre ¾
¾ Aula 9: ÁAula 9: Árvores Binrvores Bináárias (pesquisa) rias (pesquisa) ¾
¾ Aula 10: Tabelas HASH EstáAula 10: Tabelas HASH Estáticasticas ¾
¾ Aula 11: Tabelas HASH Dinâmicas Aula 11: Tabelas HASH Dinâmicas ¾
¾ Aula 12-Aula 12-13: 13: ÁÁrvores AVL rvores AVL ¾
¾ Aula 13-Aula 13-14: 14: ÁÁrvores Patrírvores Patríciascias ¾
¾ Aula 15-Aula 15-16: B16: B--TreesTrees ¾
¾ Aula 17-Aula 17-18: Revisão (18: Revisão (ModularizaModularizaççãoão)) ¾
¾ Segunda Prova: 14/12/2006Segunda Prova: 14/12/2006 ¾
C&P
C&P --AULA 9AULA 9
3 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
CONTE
CONTE
Ú
Ú
DO
DO
¾
¾
Nessa Aula
Nessa Aula
z
z ContinuaContinuaçção de Pesquisa em Memão de Pesquisa em Memóória Primria Primááriaria
z
z Problemas com Problemas com ÁÁrvores Binrvores Bináárias de Pesquisarias de Pesquisa
z
z ÁÁrvores AVLrvores AVL
z
z Exemplos e ImplementaExemplos e Implementaçção Computacionalão Computacional
PA
111-127
C&P
C&P --AULA 9AULA 9
4 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
BIBLIOGRAFIA
BIBLIOGRAFIA
Observa
Observaç
ção:
ão:
Para o estudo e
Para o estudo e Á
Á
rvores Bin
rvores Bin
á
á
rias
rias
, faz
, faz
-
-
se uso de um livro
se uso de um livro
com algoritmos melhor detalhados dos existentes no
com algoritmos melhor detalhados dos existentes no
Livro
Livro
Texto
Texto
(
(
Ziviani
Ziviani
)
)
adotado na disciplina de Classifica
adotado na disciplina de Classifica
ç
ç
ão e
ão e
Pesquisa.
Pesquisa.
¾
¾
Bibliografia Complementar
Bibliografia Complementar
SZWARCFITER, J. L. & MARKENZON, L.,SZWARCFITER, J. L. & MARKENZON, L., Estruturas de Dados e Estruturas de Dados e Seus Algoritmos
Seus Algoritmos, Rio de Janeiro, LTC , Rio de Janeiro, LTC ––Livros TLivros Téécnicos e cnicos e Cient
Cientííficos S.A., 1994.ficos S.A., 1994.
C&P
C&P --AULA 9AULA 9
5 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
Á
Á
RVORES BIN
RVORES BIN
Á
Á
RIAS DE PESQUISA
RIAS DE PESQUISA
¾
¾ AnAnáálise da Arquivo de Dados x Forma da ABPlise da Arquivo de Dados x Forma da ABP
Arco Nulo
5
3
6
7
4
1
2
5 3 2 7 6 4 1 5 4 2 6 7 3 15
4
7
6
3
1
2
Nota-se que existem várias Árvores Binárias de Pesquisa para um determinado arquivo.
A disposição dos itens do
arquivo define a forma final da Árvore Binária de Pesquisa.
Existe uma Árvore Binária de Pesquisa que tem o melhor desempenho de busca para um determinado Arquivo de Dados?
?
?
C&P
C&P --AULA 9AULA 9
6 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
Á
Á
RVORES BIN
RVORES BIN
Á
Á
RIAS DE PESQUISA
RIAS DE PESQUISA
¾
¾ AnAnáálise da Arquivo de Dados x Forma da ABPlise da Arquivo de Dados x Forma da ABP
Arco Nulo
7 6 5 4 3 2 1
No extremo: nota-se que na situação dos dados estarem em ordem decrescente ou
crescente, a eficiência de busca
em uma ABP se iguala ao
Método Seqüencial – O(n), ou
seja, a ABP não tira proveito algum da prévia organização dos itens, perdendo desempenho.
7 6 5 4 3 2 1 1 2 3 4 5 6 7 1 2 3 4 5 6 7
C&P
C&P --AULA 9AULA 9
7 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
EXERC
EXERC
Í
Í
CIO EM LABORAT
CIO EM LABORAT
Ó
Ó
RIO
RIO
11)
11) Construa uma Construa uma ÁÁrvore Binrvore Bináária de Pesquisaria de Pesquisapara o seguinte arquivo de dados:para o seguinte arquivo de dados:
7 1 2 3 4 5 6
Fa
Façça uma ana uma anáálise do desempenho que teria um Algoritmo de Busca lise do desempenho que teria um Algoritmo de Busca nessa
nessa ÁÁrvore Binrvore Bináária de Pesquisa. ria de Pesquisa.
Compare com os algoritmos de Busca Seq
Compare com os algoritmos de Busca Seqüüencial e Binencial e Bináária.ria.
7 1 2 3 4 5 6 C&P
C&P --AULA 9AULA 9
8 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
Á
Á
RVORES BIN
RVORES BIN
Á
Á
RIAS
RIAS
¾
¾ ÁÁrvores Binrvores Binááriasrias Defini
Definiçções:ões: Uma
Uma ÁÁrvore Binrvore Binááriaria éé formada a partir de um conjunto finito de formada a partir de um conjunto finito de
n
nóós, os quais possuem exatamente 0, 1 ou 2 filhos.s, os quais possuem exatamente 0, 1 ou 2 filhos.
Uma
Uma ÁÁrvore Estritamente Binrvore Estritamente Binááriaria éé formada a partir de um formada a partir de um conjunto finito de n
conjunto finito de nóós, os quais possuem exatamente 0 ou 2 filhos.s, os quais possuem exatamente 0 ou 2 filhos. Uma
Uma ÁÁrvore Binrvore Bináária Completaria Completa éé aquela que apresenta a seguinte aquela que apresenta a seguinte
propriedade: se
propriedade: se
v
v
éé um num nóó tal que alguma subtal que alguma sub--áárvore de rvore dev
v
éé vazia, vazia, entãoentão
v
v
se localiza ou no se localiza ou no úúltimo (maior) ou no penltimo (maior) ou no penúúltimo nltimo níível da vel da áárvore.rvore.
Uma
Uma ÁÁrvore Binrvore Bináária Cheiaria Cheia éé aquela em que, se aquela em que, se
v
v
éé um num nóó com com alguma de suas subalguma de suas sub--áárvores vazias, então rvores vazias, então
v
v
se localiza no se localiza no úúltimo ltimo nníível. Seguevel. Segue--se que toda se que toda áárvore binrvore bináária cheia ria cheia éé completa e completa e estritamente bin
estritamente bináária.ria.
C&P
C&P --AULA 9AULA 9
9 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
Á
Á
RVORES BIN
RVORES BIN
Á
Á
RIAS
RIAS
¾
¾ ExercExercíício: cio: classifique segundo os critclassifique segundo os critéérios de rios de estritamenteestritamente, , completa
completa e e cheiacheia..
Estritamente Estritamente e Completa
Estritamente, Completa e Cheia
EDSA
67-70
C&P
C&P --AULA 9AULA 9
10 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
O CONCEITO DE BALANCEAMENTO
O CONCEITO DE BALANCEAMENTO
¾¾ ÁÁrvores Balanceadas e Não Balanceadasrvores Balanceadas e Não Balanceadas Considere dois exemplos de
Considere dois exemplos de ÁÁrvores Binrvores Bináárias com 11 nrias com 11 nóóss
Estritamente Estritamente e
Completa
Qual dessas Árvores Binárias de
Pesquisa que tem o melhor desempenho de busca para um determinado Arquivo
?
C&P
C&P --AULA 9AULA 9
11 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
O CONCEITO DE BALANCEAMENTO
O CONCEITO DE BALANCEAMENTO
¾¾ ÁÁrvores Balanceadas e Não Balanceadasrvores Balanceadas e Não Balanceadas Agora, vamos fazer uma an
Agora, vamos fazer uma anáálise da lise da alturaaltura àà equerdaequerda e e àà direita direita de cada n
de cada nóó internointerno..
EDSA 130-144 2 2 2 3 4 2 2 5 6 2 2 2 2 2 2 3 2 3 4 4
Quais nós internos estão
desbalanceados, ou seja,
possuem sub-árvores à esquerda e à direita com alturas
diferentes?
?
?
Embora a árvore à direita possua dois nós
desbalanceados, a
diferença de altura é de
apenas um nó. Essa característica permite demonstrar uma certa
tolerância ao
desbalanceamento.
C&P
C&P --AULA 9AULA 9
12 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
Á
Á
RVORES AVL
RVORES AVL
EDSA
¾
¾ ÁÁrvores Binrvores Bináárias AVLrias AVL11
Defini
Definiçções:ões: Uma
Uma ÁÁrvore Binrvore Binááriaria
T
T
éé denominada denominada AVLAVLquando, para qualquer quando, para qualquer nnóó de de
T
T
, as alturas de suas duas sub, as alturas de suas duas sub--áárvores, esquerda e direita, rvores, esquerda e direita, diferem em mdiferem em móódulo de atdulo de atéé uma unidade.uma unidade. Um n
Um nóó que respeita o critque respeita o critéério acima rio acima éé denominado denominado reguladoregulado. Em . Em contrapartida, um n
contrapartida, um nóó que não satisfaque não satisfaçça essa condia essa condiçção ão éé
denominado
denominado desreguladodesregulado..
C&P
C&P --AULA 9AULA 9
13 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
Á
Á
RVORES AVL
RVORES AVL
EDSA
130-144 ¾
¾ Exemplos Exemplos ÁÁrvores Binárvores Binárias AVLrias AVL
Toda Árvore Binária Completa é AVL?
?
?
AVL Não AVL
C&P
C&P --AULA 9AULA 9
14 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
Á
Á
RVORES AVL
RVORES AVL
¾
¾ ExercExercíícios Exemplos Ácios Exemplos Árvores Binrvores Bináárias AVLrias AVL
C&P
C&P --AULA 9AULA 9
15 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna ©
©2006 FAV 2006 FAV --ClassificaClassificaçção & Pesquisaão & Pesquisa..
Á
Á
RVORES AVL
RVORES AVL
EDSA
130-144 ¾
¾ Considere a Seguinte ConstruConsidere a Seguinte Construçção para uma AVLão para uma AVL
r
Th-2
Th-1 Th
Defini
Definiçções:ões:
Para construir uma
Para construir uma ÁÁrvore AVLrvore AVL
T
T
de altura de alturah
h
, considere, considere--se, se, inicialmente, os caos triviais. Seinicialmente, os caos triviais. Se
h = 0
h = 0
, ,T
T
hh éé uma uma áárvore vazia. rvore vazia. SeSe
h = 1
h = 1
, ,T
T
hh consiste em um consiste em um úúnico nnico nóó. Quando . Quandoh > 1
h > 1
, para , para formarformar
T
T
hh, escolhe, escolhe--se um nse um nóó r como raiz. Em seguida, escolher como raiz. Em seguida, escolhe- -sese
T
T
hh--11 para formar a subpara formar a sub--áárvore direita dervore direita der
r
, e , eT
T
hh--22 para a para a esquerda.esquerda.
C&P
C&P --AULA 9AULA 9
16 Pr of . D r. Ma rcelo Augusto Cicogna Pr of . D r. Ma rcelo Augusto Cicogna
Á
Á
RVORES AVL
RVORES AVL
EDSA
¾
¾ Exemplos de AVL: Exemplos de AVL: ÁÁrvores de rvores de FibonacciFibonacci
T4 T3
T2 T2
Exerc