SlideShare uma empresa Scribd logo
1 de 9
5.3.2 Árvores Binárias de Pesquisa Com
Balanceamento
Árvore completamente balanceada
• Nós folha (externos) aparecem em no máximo dois níveis diferentes
• Minimiza o tempo médio de pesquisa
• Assumindo distribuição uniforme das chaves
• Problema: manter árvore completamente balanceada após cada inserção é
muito caro
Árvore completamente balanceada
• Para inserir a chave 1 na árvore do exemplo à esquerda e obter a árvore à
direita do mesmo exemplo é necessário movimentar todos os nós da árvore
original
Árvores “quase balanceadas”
• Solução intermediária que mantém a árvore “quase balanceada”, em vez de tentar
manter a árvore completamente balanceada.
• Oferece bons tempos de pesquisa, próximos ao tempo ótimo da arvore
completamente balanceada, com um custo menor para manter o balanceamento.
• Exemplos de restrições aplicadas a árvores para fazê-las “quase balanceadas”
• Fazer que todas as folhas aparecem no mesmo nível
• Restringir a diferença entre as alturas das subárvores de cada nó
• Minimizar o comprimento do caminho interno da árvore
Árvores SBB
(Symmetric Binary B-trees)
• Uma árvore SBB é uma árvore binária com apontadores verticais e
horizontais, tal que:
• Todos os caminhos da raiz até cada nó externo possuem o mesmo número de
apontadores verticais.
• Não podem existir dois apontadores horizontais sucessivos.
Árvores SBB
• A chave a ser inserida é sempre inserida após o apontador vertical
mais baixo na árvore.
• Dependendo da situação anterior à inserção podem aparecer dois
apontadores horizontais.
• Neste caso: é necessário realizar uma transformação.
• Transformações para manter as propriedades da árvore SBB caso ocorra dois
ponteiros horizontais consecutivos:
Árvores SBB
Estrutura e dicionário
• Diferenças da árvore sem balanceamento:
• constantes Horizontal e Vertical : representam as inclinações das referências às
subárvores;
• campo propSBB: utilizado para verificar quando a propriedade SBB deixa de ser
satisfeita
• campos incE e incD: indicam o tipo de referência (horizontal ou vertical) que sai do nó.

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Leinylson Fontinele
 
Introdução a internet
Introdução a internetIntrodução a internet
Introdução a internetBernardo Cruz
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxLuiz Arthur
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoFelipe Martins
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Os Desafios da Preservação de Documentos Digitais
Os Desafios da Preservação de Documentos DigitaisOs Desafios da Preservação de Documentos Digitais
Os Desafios da Preservação de Documentos DigitaisCariniana Rede
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursoRodrigo Moraes Barbosa
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Pacc UAB
 
Informática e suas tecnologias
Informática e suas tecnologiasInformática e suas tecnologias
Informática e suas tecnologiasAndrey Martins
 
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)Rodrigo Freese Gonzatto
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasVagner Santana
 
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e FiltrosPadrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e FiltrosEduardo Nicola F. Zagari
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmosAdilio Tavares
 
Logica computacional
Logica computacionalLogica computacional
Logica computacionalJota Thin
 
Internet das Coisas: Conceitos e Aplicações
Internet das Coisas: Conceitos e AplicaçõesInternet das Coisas: Conceitos e Aplicações
Internet das Coisas: Conceitos e AplicaçõesFaculdade Martha Falcão
 
Marco Civil da Internet no Brasil
Marco Civil da Internet no BrasilMarco Civil da Internet no Brasil
Marco Civil da Internet no BrasilLuiz Agner
 

Mais procurados (20)

Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
 
Introdução a internet
Introdução a internetIntrodução a internet
Introdução a internet
 
Exemplo de Plano de testes
Exemplo de Plano de testes Exemplo de Plano de testes
Exemplo de Plano de testes
 
Sistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/LinuxSistemas Operacionais - Gnu/Linux
Sistemas Operacionais - Gnu/Linux
 
Mini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com ArduinoMini-curso de Introdução a Eletrônica com Arduino
Mini-curso de Introdução a Eletrônica com Arduino
 
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Aula 9 - Estruturas Condicionais
Aula 9 - Estruturas CondicionaisAula 9 - Estruturas Condicionais
Aula 9 - Estruturas Condicionais
 
Os Desafios da Preservação de Documentos Digitais
Os Desafios da Preservação de Documentos DigitaisOs Desafios da Preservação de Documentos Digitais
Os Desafios da Preservação de Documentos Digitais
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
oficina de robótica educativa plano de curso
oficina de robótica educativa plano de cursooficina de robótica educativa plano de curso
oficina de robótica educativa plano de curso
 
Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1Aula 3 - Algoritmos computacionais - parte 1
Aula 3 - Algoritmos computacionais - parte 1
 
Informática e suas tecnologias
Informática e suas tecnologiasInformática e suas tecnologias
Informática e suas tecnologias
 
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)
O que é isto, a Interação? (Design de Interação e Interação Humano-Computador)
 
Padrões Arquiteturais de Sistemas
Padrões Arquiteturais de SistemasPadrões Arquiteturais de Sistemas
Padrões Arquiteturais de Sistemas
 
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e FiltrosPadrões-03 - Padrões Arquiteturais - Pipes e Filtros
Padrões-03 - Padrões Arquiteturais - Pipes e Filtros
 
Aula 1 introdução a algoritmos
Aula 1   introdução a algoritmosAula 1   introdução a algoritmos
Aula 1 introdução a algoritmos
 
Logica computacional
Logica computacionalLogica computacional
Logica computacional
 
Internet das Coisas: Conceitos e Aplicações
Internet das Coisas: Conceitos e AplicaçõesInternet das Coisas: Conceitos e Aplicações
Internet das Coisas: Conceitos e Aplicações
 
Marco Civil da Internet no Brasil
Marco Civil da Internet no BrasilMarco Civil da Internet no Brasil
Marco Civil da Internet no Brasil
 

Mais de Norton Guimarães

DIVERSIDADE DA ESCOLA - Meninos vestem azul
DIVERSIDADE DA ESCOLA - Meninos vestem azulDIVERSIDADE DA ESCOLA - Meninos vestem azul
DIVERSIDADE DA ESCOLA - Meninos vestem azulNorton Guimarães
 
Mini Curso - Cultura Maker e Design Thinking.pptx
Mini Curso - Cultura Maker e Design Thinking.pptxMini Curso - Cultura Maker e Design Thinking.pptx
Mini Curso - Cultura Maker e Design Thinking.pptxNorton Guimarães
 
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdf
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdfPoster - Diversidade na Escola Ulbra - Karine e Norton.pdf
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdfNorton Guimarães
 
Novas Tendências na Educação pós pandemia
Novas Tendências na Educação pós pandemiaNovas Tendências na Educação pós pandemia
Novas Tendências na Educação pós pandemiaNorton Guimarães
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.xNorton Guimarães
 
Ensino híbrido planejamento e criação de aulas
Ensino híbrido   planejamento e criação de aulasEnsino híbrido   planejamento e criação de aulas
Ensino híbrido planejamento e criação de aulasNorton Guimarães
 
Ferramentas para testes de software
Ferramentas para testes de softwareFerramentas para testes de software
Ferramentas para testes de softwareNorton Guimarães
 
A evolução histórica da EaD
A evolução histórica da EaDA evolução histórica da EaD
A evolução histórica da EaDNorton Guimarães
 
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL G
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL GA EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL G
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL GNorton Guimarães
 
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB Norton Guimarães
 
Tutor EaD - importância e funções
Tutor EaD - importância e funçõesTutor EaD - importância e funções
Tutor EaD - importância e funçõesNorton Guimarães
 
Produção de conteúdo colaborativo em sala de aula
Produção de conteúdo colaborativo em sala de aulaProdução de conteúdo colaborativo em sala de aula
Produção de conteúdo colaborativo em sala de aulaNorton Guimarães
 
O cenário atual da ead no Brasil
O cenário atual da ead no BrasilO cenário atual da ead no Brasil
O cenário atual da ead no BrasilNorton Guimarães
 
Ensino Híbrido - Visão Geral
Ensino Híbrido - Visão GeralEnsino Híbrido - Visão Geral
Ensino Híbrido - Visão GeralNorton Guimarães
 
Avaliação da aprendizagem na EAD
Avaliação da aprendizagem na EADAvaliação da aprendizagem na EAD
Avaliação da aprendizagem na EADNorton Guimarães
 
Apoio do computador e da web à atividade educativa
Apoio do computador e da web à atividade educativaApoio do computador e da web à atividade educativa
Apoio do computador e da web à atividade educativaNorton Guimarães
 
O uso de recursos multimídia em sala de aula
O uso de recursos multimídia em sala de aulaO uso de recursos multimídia em sala de aula
O uso de recursos multimídia em sala de aulaNorton Guimarães
 
Planejamento e organização de sistemas de ead
Planejamento e organização de sistemas de eadPlanejamento e organização de sistemas de ead
Planejamento e organização de sistemas de eadNorton Guimarães
 
As políticas públicas em EaD no Brasil
As políticas públicas em EaD no BrasilAs políticas públicas em EaD no Brasil
As políticas públicas em EaD no BrasilNorton Guimarães
 

Mais de Norton Guimarães (20)

DIVERSIDADE DA ESCOLA - Meninos vestem azul
DIVERSIDADE DA ESCOLA - Meninos vestem azulDIVERSIDADE DA ESCOLA - Meninos vestem azul
DIVERSIDADE DA ESCOLA - Meninos vestem azul
 
Mini Curso - Cultura Maker e Design Thinking.pptx
Mini Curso - Cultura Maker e Design Thinking.pptxMini Curso - Cultura Maker e Design Thinking.pptx
Mini Curso - Cultura Maker e Design Thinking.pptx
 
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdf
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdfPoster - Diversidade na Escola Ulbra - Karine e Norton.pdf
Poster - Diversidade na Escola Ulbra - Karine e Norton.pdf
 
Novas Tendências na Educação pós pandemia
Novas Tendências na Educação pós pandemiaNovas Tendências na Educação pós pandemia
Novas Tendências na Educação pós pandemia
 
Qualidade de Software
Qualidade de SoftwareQualidade de Software
Qualidade de Software
 
Programação Web com PHP 7.x
Programação Web com PHP 7.xProgramação Web com PHP 7.x
Programação Web com PHP 7.x
 
Ensino híbrido planejamento e criação de aulas
Ensino híbrido   planejamento e criação de aulasEnsino híbrido   planejamento e criação de aulas
Ensino híbrido planejamento e criação de aulas
 
Ferramentas para testes de software
Ferramentas para testes de softwareFerramentas para testes de software
Ferramentas para testes de software
 
A evolução histórica da EaD
A evolução histórica da EaDA evolução histórica da EaD
A evolução histórica da EaD
 
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL G
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL GA EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL G
A EXPERIÊNCIA NA DEFINIÇÃO DE UM PROCESSO BASEADO NO MPS.BR NÍVEL G
 
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB
COMÉRCIO ELETRÔNICO DE PRODUTOS VIA WEB
 
Tutor EaD - importância e funções
Tutor EaD - importância e funçõesTutor EaD - importância e funções
Tutor EaD - importância e funções
 
Produção de conteúdo colaborativo em sala de aula
Produção de conteúdo colaborativo em sala de aulaProdução de conteúdo colaborativo em sala de aula
Produção de conteúdo colaborativo em sala de aula
 
O cenário atual da ead no Brasil
O cenário atual da ead no BrasilO cenário atual da ead no Brasil
O cenário atual da ead no Brasil
 
Ensino Híbrido - Visão Geral
Ensino Híbrido - Visão GeralEnsino Híbrido - Visão Geral
Ensino Híbrido - Visão Geral
 
Avaliação da aprendizagem na EAD
Avaliação da aprendizagem na EADAvaliação da aprendizagem na EAD
Avaliação da aprendizagem na EAD
 
Apoio do computador e da web à atividade educativa
Apoio do computador e da web à atividade educativaApoio do computador e da web à atividade educativa
Apoio do computador e da web à atividade educativa
 
O uso de recursos multimídia em sala de aula
O uso de recursos multimídia em sala de aulaO uso de recursos multimídia em sala de aula
O uso de recursos multimídia em sala de aula
 
Planejamento e organização de sistemas de ead
Planejamento e organização de sistemas de eadPlanejamento e organização de sistemas de ead
Planejamento e organização de sistemas de ead
 
As políticas públicas em EaD no Brasil
As políticas públicas em EaD no BrasilAs políticas públicas em EaD no Brasil
As políticas públicas em EaD no Brasil
 

Árvores SBB

  • 1. 5.3.2 Árvores Binárias de Pesquisa Com Balanceamento
  • 2. Árvore completamente balanceada • Nós folha (externos) aparecem em no máximo dois níveis diferentes • Minimiza o tempo médio de pesquisa • Assumindo distribuição uniforme das chaves • Problema: manter árvore completamente balanceada após cada inserção é muito caro
  • 3. Árvore completamente balanceada • Para inserir a chave 1 na árvore do exemplo à esquerda e obter a árvore à direita do mesmo exemplo é necessário movimentar todos os nós da árvore original
  • 4. Árvores “quase balanceadas” • Solução intermediária que mantém a árvore “quase balanceada”, em vez de tentar manter a árvore completamente balanceada. • Oferece bons tempos de pesquisa, próximos ao tempo ótimo da arvore completamente balanceada, com um custo menor para manter o balanceamento. • Exemplos de restrições aplicadas a árvores para fazê-las “quase balanceadas” • Fazer que todas as folhas aparecem no mesmo nível • Restringir a diferença entre as alturas das subárvores de cada nó • Minimizar o comprimento do caminho interno da árvore
  • 5. Árvores SBB (Symmetric Binary B-trees) • Uma árvore SBB é uma árvore binária com apontadores verticais e horizontais, tal que: • Todos os caminhos da raiz até cada nó externo possuem o mesmo número de apontadores verticais. • Não podem existir dois apontadores horizontais sucessivos.
  • 7. • A chave a ser inserida é sempre inserida após o apontador vertical mais baixo na árvore. • Dependendo da situação anterior à inserção podem aparecer dois apontadores horizontais. • Neste caso: é necessário realizar uma transformação.
  • 8. • Transformações para manter as propriedades da árvore SBB caso ocorra dois ponteiros horizontais consecutivos:
  • 9. Árvores SBB Estrutura e dicionário • Diferenças da árvore sem balanceamento: • constantes Horizontal e Vertical : representam as inclinações das referências às subárvores; • campo propSBB: utilizado para verificar quando a propriedade SBB deixa de ser satisfeita • campos incE e incD: indicam o tipo de referência (horizontal ou vertical) que sai do nó.