SlideShare une entreprise Scribd logo
1  sur  119
ÁRVORE
2-3
Estrutura de Dados II
Equipe:
Augusto Teixeira
Carlos Littbarski
Jardel Rodrigues
Victor Apuena
Professor:
Alandson Meireles
Informações
- A ÁRVORE 2-3 FOI A PRIMEIRA ÁRVORE MULTICAMINHOS,
INVENTADA POR J. E. HOPCROFT EM 1970.
- 2-3 árvores são uma isometria de árvores AA, o que significa que são
estruturas de dados equivalentes. Em outras palavras, para cada 2-3
árvore, existe pelo menos uma árvore AA com elementos de dados na
mesma ordem. 2-3 árvores são equilibradas, o que significa que cada
direita, centro e sub-árvore esquerda contém o mesmo ou perto da
mesma quantidade de dados.
John E. Hopcroft
Características
- SÃO ÁRVORES FÁCEIS DE PROGRAMAR
- SÃO ÁRVORES MULTIVIAS
- NÃO É UMA ÁRVORE BINÁRIA
- ÁRVORES 2-3 SÃO SIMILARES ÀS ÁRVORES 2-3-4.
- 2-3 DIZEM A RESPEITO À QUANTIDADE DE FILHOS QUE A ÁRVORE PODE TER
(ASSIM COMO NA 2-3-4)
- PERFEITAMENTE BALANCEADA
Vantagens
- Árvore perfeitamente balanceada
- Busca rápida
- Fácil implementação
- Remoção demorada
Desvantagens
Propriedades
- Cada nó contém uma, ou duas chaves;
- Cada nó interno tem dois filhos se tem uma chave, ou três se tem duas chaves;
- Todas as folhas estão no mesmo nível.
- Todos os dados são ordenados
NÓ COM 1 FILHO
a a b
P Q NÓ COM 2 FILHOS
P Q R
Vamos brincar? *-*
INSERÇÃO
Inserção: Árvore Vazia
Adicionar ‘B’
Inserção: Árvore Vazia
b
Se a Árvore estiver vazia:
Criar um nó e adicionar o valor ao nó
Regra #1
Inserção: Nó com 1 chave
b
Adicionar ‘A’
a
Inserção: Nó com 1 chave
b
Caso contrário, localize o nó a qual o valor pertence.
Se o nó tiver apenas 1 valor, adicione o valor no nó.
a
Regra #2
Regra #3
Inserir chave no nó sempre de forma ordenada.
Inserção: Nó com 2 chave
a b
c
Adicionar ‘C’
Inserção: Nó com 2 chaves
c
Se o nó da folha tiver mais de dois valores, divida o nó e
promova a mediana dos três valores para o pai.
a b
Regra #4
Número de chaves estouradas
Promover a mediana
Quebrar o nó e fazer a ligação
Inserção: Nó com 2 chaves
ca
b
Nºs > que BNºs < que B
Nós com 1 chave devem sempre ter 2 filhos
Inserção: Regras
c
Inserir “D”
a
b
Inserção: Regras
c
Inserir “E”
a
b
d
e
Inserção: Regras
ca
b
d e
Se o nó da folha tiver mais de dois valores, divida o nó e
promova a mediana dos três valores para o pai.Regra #4
Inserção: Regras
ca
b d
e
- Cada nó interno tem dois filhos se tem uma chave, ou três se tem duas chaves;
Inserção: Regras
ca
b d
e Nºs > que BNºs < que B
chaves > que B & < que D
Vamos ver se entendemos tudo?
Árvore vazia. Insira #50
Insira #1
50
Insira #25
1 50
Inserir #25
1 50
25
Limite estourado!
1 5025
#25 Promovido | Árvore Equilibrada
1 50
25
Insira #35
1 50
25
Insira #40
1 35
25
50
40
Limite estourado!
1 35
25
5040
#40 Promovido
1
4025
5035
1
4025
5035
Árvore equilibrada!
1
4025
5035
Só que não!
#Propriedade quebrada
1
4025
5035
- Nó com 2 chaves deve
ter 3 filhos
Nó (35,50) divido
1
4025
5035
Árvore equilibrada! Insira #15
1
4025
5035
1 35
25
50
40
Blz! Insira #10
15
10
1 35
25
50
40
Limite estourado!
1510
1 35
25
50
40
Limite estourado! DE NOVO!!!
15
10
25 40
Limite estourado! DE NOVO!!!
10
Se o pai tem então três
valores, continuar a
dividir e promover,
formando um novo nó
raiz, se necessário
Regra #5
1 35 5015
25
40
Coisa linda de mamãe!!!
10
1 35 5015
Árvore perfeitamente equilibrada.
1 35
25
50
40
15
10
1 35
25
50
40
Insira....
15
10
Chega né? Vamos ao próximo!
1 35
25
50
40
15
10
PESQUISA
Árvore 2-3
▪ Nó Simples:
▪ Contém uma chave e dois links; um link esquerdo para uma
árvore 2-3 que tem chaves menores que a chave do nó; e um
link direto para uma árvore 2-3 que tem chaves maiores;
Árvore 2-3
▪ Nó Duplo:
▪ Contém duas chaves e três links: um link esquerdo para uma
árvore 2-3 que tem chaves menores; e um link do meio para
uma árvore 2-3 que tem chaves entre as duas chaves do nó; e
um link direto para uma árvore 2-3 que tem chaves maiores;
Pesquisa em uma árvore 2-3
- Inicia-se sempre pela raiz;
- Caso o item pesquisado não se encontra na raiz, identifica o nó
filho da raiz em que o mesmo possa estar e siga para este nó;
- Se o item tiver valor maior que a raiz, siga para direita da
árvore, se não vá para esquerda;
- O processo se repete até que o item seja encontrado;
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 18
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 65
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 43
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
Exemplo de pesquisa Árvore 2-3
3
30
29
5010 20
12 18 40 43 7060
Pesquisando o 3
REMOÇÃO
Remoção de uma árvore 2-3
- A remoção um item de uma árvore 2-3 é aproximadamente o inverso do
processo de inserção;
- Para remover um item, devemos primeiro procurar por ele;
- Se o item a ser removido estiver em uma folha com dois itens;
- simplesmente o excluímos;
- o removemos trocando-o item da árvores;
Removendo 45
- procurar número 45
1 35
25
60
10
6545
40 50
15
Removendo número 45
1 35
25
60
10
6545
40 50
15
Removendo número 45
1 35
25
6015
10
6550
40 50
Removendo número 45
1 35
25
6015
10
6550
40 60
Após remover 45
1 35
25
15
10
6550
40 60
Removendo 40
- procurar número 40
1 35
25
15
10
6550
40 60
Removendo número 40
1 35
25
15
10
6550
40 60
Removendo número 40
1 35
25
15
10
6550
35 60
Removendo número 40
1
25
15
10
6550
35 60
Após remover 40
1
25
15
10
6535
60
50
Removendo 1
- procurar número 1
1
25
15
10
6535
60
50
Removendo número 1
1
25
15
10
6535
60
50
Removendo número 1
25
15
10
6535
60
50
Removendo número 1
25
10
6535
60
50
15
Removendo número 1
25
10
6535
60
50
15
Após remover 1
25
10 6535
60
5015
Removendo 10
- procurar número 10
25
10 6535
60
5015
Removendo número 10
25
10 6535
60
5015
Após remover 10
25
6535
60
5015
Removendo 35
- procurar número 35
25
6535
60
5015
Removendo 35
25
6535
60
5015
Após remover 35
25
65
60
5015
Removendo 60
- procurar número 60
25
65
60
5015
Removendo número 60
25
65
60
5015
Removendo número 60
25
65
65
5015
Removendo número 60
25 65
5015
Após remover 60
25
655015
Removendo 65
- procurar número 65
25
655015
Removendo número 65
25
655015
Após remover 65
- procurar número 65
25
5015
Removendo 50
- procurar número 50
25
5015
Removendo número 50
25
5015
Removendo número 50
25
15
Após remover 50
2515
Removendo 25
- procurar número 25
2515
Removendo 15
- procurar número 15
15
REFERÊNCIAS
USP - “Instituto de Matemática e Estatística”. Disponível em:
https://www.ime.usp.br/~gold/cursos/2002/mac2301/aulas/b-arvore/
LAFORE - ESTRUTURA DE DADOS E ALGORÍTMOS EM JAVA - 2ª EDIÇÃO
WIKIPEDIA - https://pt.wikipedia.org/wiki/%C3%81rvore_2-3
Gross, R. Hernández, J. C. Lázaro, R. Dormido, S. Ros (2001). Estructura de Datos
y Algoritmos Prentice Hall
Ellio B. Koffman Paul A. T. Olfgang (2006) : Objetos, Abstração, Estruturas de
dados e projeto usando C++
Muito
obrigado!!!

Contenu connexe

Tendances

Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Adriano Teixeira de Souza
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
rosimaracorsino
 
Padronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de DadosPadronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de Dados
Samuelson Brito
 

Tendances (20)

Criação de tabelas com HTML
Criação de tabelas com HTMLCriação de tabelas com HTML
Criação de tabelas com HTML
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Árvore Binária
Árvore BináriaÁrvore Binária
Árvore Binária
 
O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?O que é um Banco de Dados Relacional?
O que é um Banco de Dados Relacional?
 
Estrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e HeterogêneasEstrutura de dados - Variáveis homogêneas e Heterogêneas
Estrutura de dados - Variáveis homogêneas e Heterogêneas
 
Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)Banco de Dados II: Tabelas (aula 2)
Banco de Dados II: Tabelas (aula 2)
 
SGBD
SGBDSGBD
SGBD
 
Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER Aula 5 - Modelo de Entidade e Relacionamento - MER
Aula 5 - Modelo de Entidade e Relacionamento - MER
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Padronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de DadosPadronização de Nomenclatura para Banco de Dados
Padronização de Nomenclatura para Banco de Dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Estrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas EstáticasEstrutura de Dados Aula 04 - Listas Estáticas
Estrutura de Dados Aula 04 - Listas Estáticas
 
[Certificacao ] normalizacao de dados e as formas normais
[Certificacao ]  normalizacao de dados e as formas normais[Certificacao ]  normalizacao de dados e as formas normais
[Certificacao ] normalizacao de dados e as formas normais
 
Apostila Programação Java
Apostila Programação JavaApostila Programação Java
Apostila Programação Java
 
2 3 tree
2 3 tree2 3 tree
2 3 tree
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
Treinamento de SQL Básico
Treinamento de SQL BásicoTreinamento de SQL Básico
Treinamento de SQL Básico
 

En vedette

A ARVORE QUE NÃO QUERIA MORRER
A ARVORE QUE NÃO QUERIA MORRERA ARVORE QUE NÃO QUERIA MORRER
A ARVORE QUE NÃO QUERIA MORRER
Marisa Seara
 
História de uma árvore
História de uma árvoreHistória de uma árvore
História de uma árvore
labeques
 
Parábola do Amor. A Árvore e o Menino
Parábola do Amor. A Árvore e o MeninoParábola do Amor. A Árvore e o Menino
Parábola do Amor. A Árvore e o Menino
Adilson P Motta Motta
 
A HISTORIA DE UMA ARVORE
A HISTORIA DE UMA ARVOREA HISTORIA DE UMA ARVORE
A HISTORIA DE UMA ARVORE
Marisa Seara
 
O Ciclo Da áGua
O Ciclo Da áGuaO Ciclo Da áGua
O Ciclo Da áGua
TaniaRaquel
 
História de uma Gotinha de Água
História de uma Gotinha de ÁguaHistória de uma Gotinha de Água
História de uma Gotinha de Água
elisabetemfc
 

En vedette (13)

2-3 Tree, Everything you need to know
2-3 Tree,  Everything you need to know2-3 Tree,  Everything you need to know
2-3 Tree, Everything you need to know
 
Árvore de amigos
Árvore de amigosÁrvore de amigos
Árvore de amigos
 
Amiga lata amigo rio
Amiga lata amigo rioAmiga lata amigo rio
Amiga lata amigo rio
 
A ARVORE QUE NÃO QUERIA MORRER
A ARVORE QUE NÃO QUERIA MORRERA ARVORE QUE NÃO QUERIA MORRER
A ARVORE QUE NÃO QUERIA MORRER
 
História de uma árvore
História de uma árvoreHistória de uma árvore
História de uma árvore
 
Conto arvore generosa
Conto arvore generosaConto arvore generosa
Conto arvore generosa
 
Parábola do Amor. A Árvore e o Menino
Parábola do Amor. A Árvore e o MeninoParábola do Amor. A Árvore e o Menino
Parábola do Amor. A Árvore e o Menino
 
A HISTORIA DE UMA ARVORE
A HISTORIA DE UMA ARVOREA HISTORIA DE UMA ARVORE
A HISTORIA DE UMA ARVORE
 
A árvore generosa
A árvore generosaA árvore generosa
A árvore generosa
 
O Ciclo Da áGua
O Ciclo Da áGuaO Ciclo Da áGua
O Ciclo Da áGua
 
Slides agua
Slides   aguaSlides   agua
Slides agua
 
História de uma Gotinha de Água
História de uma Gotinha de ÁguaHistória de uma Gotinha de Água
História de uma Gotinha de Água
 
Era Uma Vez Uma Gotinha De áGua
Era Uma Vez Uma Gotinha De áGuaEra Uma Vez Uma Gotinha De áGua
Era Uma Vez Uma Gotinha De áGua
 

Dernier

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Dernier (7)

EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apostila e caderno de exercicios de WORD
Apostila e caderno de exercicios de  WORDApostila e caderno de exercicios de  WORD
Apostila e caderno de exercicios de WORD
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 

Árvore 2-3