INF 1010 Estruturas de Dados Avançadas

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

AULA 8 Profa. Sandra de Amo GBC053 – BCC
João Lúcio de Azevedo ESALQ/USP, UMC, UCS, CBA
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
Estruturas de Dados Árvores Binárias
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Indices estruturados por B-TREE
B-tree Gerenciamento de Duplicatas Bulk Loading AULA 12 Profa. Sandra de Amo GBC053 – BCC
Método de Acesso Dinâmico - B-Tree AULA 14 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC
Revisão Prova 2 Métodos de Acesso: BTree e Hash AULA 20 Profa. Sandra de Amo GBC053 – BCC
Quantificação DNA – Grupo 1
Série de Exercícios.
MC 202 – Estruturas de dados
Árvore Binária de Busca
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)
Árvores.

Arquivos Seqüenciais Inhaúma Neves Ferraz
Árvores B Conceitos Exemplos.
Pesquisa em Memória Primária – Árvores de Busca
Pesquisa em Memória Primária – Árvores de Busca
Árvores Introdução e Aplicações Árvores de Busca Binária Fundamentos
Classificação e Pesquisa de Dados
Árvores Balanceadas (AVL)
Árvores Binárias de Pesquisa (ABP)
Árvores e Árvores Binárias
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
CAP-223 Árvore através de uma Árvore Binária A BCDE FGHIJK A BC D E FGHIJK.
Listas Encadeadas.
Indexação de Arquivos Página de rosto.
Fundamentos sobre Árvores
TÉRREO 51a Biblioteca B C D E F A Rua Cardoso de Almeida Av. Dr. Arnaldo Rua Ministro Godoy.
Árvore Binária de Busca
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Algoritmos e Estruturas de Dados II
Pesquisa em Memória Primária
Árvores binárias de pesquisa com balanceamento
INF 1010 Estruturas de Dados Avançadas
1 António Arnaut Duarte. 2 Sumário: primeiros passos;primeiros passos formatar fundo;formatar fundo configurar apresentação;configurar apresentação animação.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
INF 1010 Estruturas de Dados Avançadas
Principais operações em Listas TPA Listas Simples Inserção no Final 1.void insereNofinalDaLista(Lista *l, Elemento e){ 2.Lista paux,p; 3. p.
Árvores Binárias de Pesquisa
Algorítmos e estrutura de dados III
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
Operações de Inserção e Remoção – BTree Resumo
Algoritmos e Estrutura de Dados III
Introdução e Busca Cega
Árvores Balanceadas Liliane Rose Benning Salgado.
Rotação Simples e Dupla Katia Guimarães
SÉRIES ESTATÍSTICAS.
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
1.
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Átila Valgueiro Malta Moreira Juliana Medeiros de Lucena Rafael Alberto.
Árvore Binária de Busca
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
LEILÃO nº 3/2014 Dia 12 de setembro, às 14 horas.
Transparências da profa. Renata Galante da II/UFRGS com permissão
Árvores Prof. Dr. rer. nat. Daniel Duarte Abdala DAS 5102 – Fundamentos da Estrutura da Informação 1.
Prof. Hilton Cardoso Marins Junior
Estruturas Avançadas de Dados UNISINOS
Árvores de Busca Binária
Árvores Balanceadas (AVL)
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
UNIVERSIDADE FEDERAL DE MINAS GERAIS Árvores Cristiano Arbex Valle Vinicius Fernandes dos Santos
Transcrição da apresentação:

INF 1010 Estruturas de Dados Avançadas 17/10/2011 INF 1010 Estruturas de Dados Avançadas Árvores 2-3 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Características Árvores 2-3 Cada nó armazena 1 ou 2 chaves Cada nó interno possui 2 ou 3 filhos São balanceadas Não dependem de operações de rotação Balanceamento é garantido diretamente pelas operações de inserção e remoção 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Características Árvores 2-3 (cont.) São árvores de busca Nó interno com 2 filhos Nó interno com 3 filhos 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Caminhamento Caminhamento em Ordem Infixa (esboço) Caminhe pela subárvore da esquerda. Imprima a menor chave (que pode ser a única). Caminhe pela subárvore do meio. Imprima a maior chave, se existir. Caminhe pela subárvore da direita, se existir. 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Busca Exemplo: Busca por “130” 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Algoritmo de Inserção (esboço) Localize a folha onde a nova chave será inserida. Divida a folha, se necessário. Divida nós internos, recursivamente, se necessário. 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Algoritmo de Inserção (cont.) Se a folha já tem 2 chaves, divida a folha Mova a “chave do meio” para o pai 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Algoritmo de Inserção (cont.) Se o pai já tem 2 chaves, divida o pai Mova a “chave do meio” para o pai do pai 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Algoritmo de Inserção (cont.) Se a raiz já tem 2 chaves, crie nova raiz Mova a “chave do meio” para a nova raiz 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “39” Localize a folha onde “39” deve ser inserida A folha só tem 1 chave: insira “39” 39 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “38” Localize a folha onde “38” deve ser inserida A folha tem 2 chaves: simule a inserção de “38” 38 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “38” Mova a chave do meio para o pai p Separe o menor e o maior valores em 2 nós, que serão filhos de p 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “37” Localize a folha onde “37” deve ser inserida A folha só tem 1 chave: insira “37” 37 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “36” Localize a folha onde “36” deve ser inserida A folha já tem 2 chave: Simule a inserção de “36” 36 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “36” Simule mover a chave do meio para o pai p Simule criar 2 novos filhos de p 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Inserção Inserção de “36” Divida o nó p Mova a chave do meio para o pai de p Os nós com as chaves menor e maior formam novos nós Redistribua os 4 filhos de p entre os novos nós 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2 Exercício Ilustre como fica a árvore 2-3, inicialmente vazia, com a seguinte sequência de inserções: 1, 2, 3, 4, 5, 6 e 7. 17/10/2011 © 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2

© 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2 Exercício Algoritmo de busca struct node { int x, y; Node *l, *m, *r; }; y = -1, significa ausência de valor. 17/10/2011 © 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (esboço) Se a chave a ser removida pertencer a uma folha, Remova a chave. Se a chave a ser removida pertencer a um nó interno Troque a chave com a sua sucessora (que necessariamente está em uma folha). Remova a chave (da folha). Redistribua e combine nós. 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Casos 1 e 2 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Casos 3 e 4 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Combine – Casos 5 e 6 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 7 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Caso 8 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Redistribua – Caso 9 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 10 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova e Combine – Caso 11 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Algoritmo de Remoção (cont) Remova a raiz – Caso 12 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Remoção de “65” O nó que contém “65” é interior Troque “65” com a sua sucessora 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Remoção de “65” Remova “65” Como a folha possui 2 chaves, é possível remover “65” 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Remoção de “70” O nó que contém “70” é interior Troque “70” com a sua sucessora 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Remoção de “70” Remova “70” 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1 Remoção Remoção de “70” A árvore torna-se inválida Combine nós 17/10/2011 © 2012 DI, PUC-Rio • Estruturas de Dados Avançadas • 2012.1

© 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2 Resumo Árvores 2-3 Cada nó armazena 1 ou 2 chaves Cada nó interno possui 2 ou 3 filhos Algoritmos de inserção e remoção mantém as árvores balanceadas Caso especial de Árvores-B 17/10/2011 © 2011 DI, PUC-Rio • Estruturas de Dados Avançadas • 2011.2