Árvores B Motivação: pesquisa em disco

Slides:



Advertisements
Apresentações semelhantes
Árvores Equilibradas Sumário Splay Vermelho-Preto AA e BB
Advertisements

Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB
Estrutura de Dados e Algoritmos e Programação e Computadores II
ACESSO À MEMÓRIA SECUNDÁRIA - ÁRVORES
Bulk Loading – Algoritmo AULA 12 - COMPLEMENTO Profa. Sandra de Amo GBC053 – BCC Sandra de Amo.
Indices estruturados por B-TREE
Algoritmos de Junção – BNL e IndexNL AULA 16 Profa. Sandra de Amo GBC053 – BCC
Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC
Uma árvore de N chaves organizada em k chaves por página tem profundidade de Lema: O número de descendentes em qualquer nível da árvore é igual ao número.
Á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 Extensíveis.
Pesquisa em Memória Primária – Árvores de Busca
David Menotti Algoritmos e Estruturas de Dados I DECOM – UFOP
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
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Classificação (Ordenação) de dados
Árvores Binárias de Pesquisa (ABP)
2002/2003 Programação Orientada para Objectos 1 Aula 4 Memória, unidade básica de memória e conceito de endereço Ponteiros Relação de ponteiros com matrizes.
Indexação de Arquivos Página de rosto.
Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB
Árvore Binária de Busca
Tecnologias Especificas Informática
Algoritmos e Estruturas de Dados II
Árvores binárias de pesquisa com balanceamento
INF 1010 Estruturas de Dados Avançadas
Algorítmos e estrutura de dados III
Algorítmos e estrutura de dados III Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Algorítmos e estrutura de dados III
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Operações de Inserção e Remoção – BTree Resumo
Algoritmos e Estrutura de Dados III
Introdução e Busca Cega
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.
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
© 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
Árvores B Obs: Uma árvore 2-3 é uma árvore B de ordem 1.
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática

Árvores Binárias Profa. Patrícia A. Jaques Luiz Gonzaga Jr
Estruturas de Dados Aula 15: Árvores
Prof. Hilton Cardoso Marins Junior ÁRVORES BINÁRIAS.
© 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice Hall. Todos os direitos reservados.slide 1 © 2011 Pearson Prentice.
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Prof. Hilton Cardoso Marins Junior
Universidade do Vale do Rio dos Sinos - São Leopoldo -
Introdução às TIC Prof. Carlos Freire Copyright, Carlos Freire.
AULA 21 Profa. Sandra de Amo BCC - UFU
Algoritmos de Junção – IndexNL e Sort Merge Join AULA 19 Profa. Sandra de Amo GBC053 – BCC.
B-tree Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB Multidimensionais quaternárias k-d Pesquisa Lexicográfica tries multivia tries.
INTRODUÇÃO À COMPUTAÇÃO
Conjuntos - 1 Conjuntos disjuntos Objectivo ° resolver eficientemente o problema da equivalência ° estrutura de dados simples (vector) ° implementação.
AVL Árvores Equilibradas Sumário AVL Splay B Vermelho-Preto AA e BB Multidimensionais quaternárias k-d [Pesquisa Lexicográfica tries multivia tries binárias.
Árvores Equilibradas Sumário Splay B-tree Vermelho-Preto AA e BB
Árvores de Busca Binária
Prof. Daniel Morais dos Reis
Árvores Balanceadas (AVL)
Árvores (introdução) Anjolina Grisi de Oliveira Obs: vários slides foram cedidos por Adolfo Almeida Duran (UFBA)
Árvores e Árvores Binárias
Árvores Binárias e Árvores AVL Katia Guimarães. Árvores Binárias e Árvores AVL Katia S. Guimarães
Árvores Estrutura de dados que se caracteriza por uma relação de
Classificação (Ordenação) de dados. Roteiro Contextualização e definições sobre Classificação Métodos de Classificação de Dados.
26 de fevereiro de Árvores (2,3) e Árvores B Katia Guimarães.
BANCO DE DADOS II Árvore de Dados. FATEC - GUARATINGUETÁ Professor: Eduardo Barbosa Adiel Lemos Ana Renata Bruno Michael Jéssica Fernanda Layla Monique.
INE5408 Estruturas de Dados Árvores B - Estrutura e peculiaridades -Algoritmos de inserção, pesquisa e deleção.
Transcrição da apresentação:

Árvores B Motivação: pesquisa em disco Tempo de acesso a disco determinante nas operações Com disco de 10 ms de tempo de acesso: 100 acessos por segundo em máquina de 25 MIPS, 1 acesso custa tanto como 250 000 instruções ... e velocidade de cálculo tem aumentado mais que velocidade de disco Podemos gastar muito cálculo para evitar 1 acesso a disco Exemplo: registo dos cidadãos portugueses guardado em árvore binária N=10M de registos, chave de 32 bytes e total de registo de 256 bytes (BD 2.5GB) Blocos de 8KB  312 500 blocos Pior caso: acesso em tempo linear, 312 500 acessos a disco (52 min) (ou 10M !) Médio: 1.38 log N acessos, 32 acessos a disco ou 0.3s Nó a profundidade tripla: 100 acessos a disco ou 1s

Árvore B Árvore equilibrada multivia Objectivo: pesquisa externa, minimizar acessos a disco Utilização: construir índices auxiliares em Bases de Dados nos nós existem referências a blocos do disco escolha da ordem da árvore depende do número de registos do índice que cabem num único bloco (unidade básica de acesso a disco) Uma árvore-B de ordem M é uma árvore de M vias em que 1. Os dados estão guardados nas folhas 2. Os nós internos guardam até M-1 chaves; a chave i representa a menor chave na subárvore i+1 3. A raiz é uma folha ou tem entre 2 e M filhos 4. Todos os nós internos, excepto a raiz, têm entre M/2 e M filhos não vazios. 5. Todas as folhas estão à mesma profundidade e têm entre L/2 e L registos de dados

Árvore B para exemplo do ficheiro Cada nó deve caber em 1 bloco de disco Assumir bloco de disco de 8 192 bytes Em cada nó interior: M-1 chaves de 32 bytes e M ramos com 4 bytes (endereço de novo bloco) 32 ( M -1) + 4 M  8192 M = 228, M/2 = 114 Nos nós folha: 256 bytes para cada registo bloco comporta 32 registos L = 32 No ficheiro de 10 000 000 de registos no máximo 10 000 000 /16 = 625 000 folhas no máximo  log 114 625 000  = 3 níveis acima das folhas

Árvore-B de ordem 4 M= 4 até 3 chaves em cada nó interno 21 48 72 12 15 25 31 41 59 84 91 1,4,8,11 12,13 15,18,19 21,24 25,26 31,38 41,43,46 48,49,50 59,68 72,78 84,88 91,92,99 até 3 chaves em cada nó interno até 4 ponteiros em cada nó interno (mínimo é 2) L = 4 (mas poderia ter outro valor)

Inserção em Árvore-B 2-3 1 18 19 2-3 (número de filhos) Mínimo: 2 22 : - 16 : - 41 : 58 8,11,12 16, 17 22,23,31 41, 52 58,59,61 22 : - 16 : - 41 : 58 8,11,12 16,17,18 22,23,31 41, 52 58,59,61 1 18 22 : - 11 : 16 41 : 58 11, 12 16, 17,18 22,23,31 41, 52 58,59,61 1, 8 19 2-3 (número de filhos) Mínimo: 2 Máximo: 3

Inserção em Árvore-B 2-3 28 22 : - 11 : 16 41 : 58 16 : 22 11 : - 11, 12 16, 17 22,23,31 41, 52 58,59,61 1, 8 18, 19 16 : 22 11 : - 41 : 58 11, 12 16, 17 22,23,31 41, 52 58,59,61 1, 8 18, 19 18 : - 28

Inserção em Árvore-B 2-3 16 : 22 11 : - 41 : 58 18 : - 16 : 22 11 : - 11, 12 16, 17 22, 23 41, 52 58,59,61 1, 8 18, 19 18 : - 28, 31 16 : 22 11 : - 58 : - 11, 12 16, 17 22, 23 41, 52 58,59,61 1, 8 18, 19 18 : - 28, 31 28 : -

Inserção em Árvore-B 2-3 (repetida) Árvore-B cresce para a raiz 16 : 22 11 : - 58 : - 11, 12 16, 17 22, 23 41, 52 58,59,61 1, 8 18, 19 18 : - 28, 31 28 : - (repetida) 22 : - 11 : - 58 : - 11, 12 16, 17 22, 23 41, 52 58,59,61 1, 8 18, 19 18 : - 28, 31 28 : - 16 : - 41 : - Árvore-B cresce para a raiz

Apagamento em Árvore B Pesquisa da chave a apagar e apagamento na folha respectiva Se a folha fica com número de chaves não abaixo do mínimo: terminar Se a folha fica com número de chaves abaixo do mínimo: reparar árvore Se a folha do lado tiver número de chaves acima do mínimo: pedir chave emprestada “do lado” significa com o mesmo pai, para não complicar excessivamente a manutenção dos nós interiores Se a folha do lado não tiver número de chaves acima do mínimo: fundir folhas e propagar Havendo fusão de nós, a reparação prossegue nos níveis superiores da árvore Se a fusão de nós resulta em a raiz ter apenas 1 filho: raiz passa para o filho e altura da árvore diminui Árvore-B cresce e diminui na raiz altura da árvore aumenta quando se tem de partir a raiz (e criar novo nó raiz) altura da árvore diminui quando a raiz tem 2 filhos e estes se fundem

Árvore-B para pesquisa em memória Árvore de ordem 5 ou B 3-5 a, b, f, g k d, h, m a b f g f a b g k f a b d g h k m j e, s, i, r f j a b d g h k m f j a b d e g h i k m r s

Inserção em árvore-B 3-5 f j r a b d e g h i k m s x c f j r a b g h i c, l, n, t, u c f j r a b g h i k l m n s t u x d e

Inserção em árvore-B 3-5 c f a b g h i k l s t u x d e n p m r j Nesta representação: chaves estão organizadas na árvore à maneira das árvores de pesquisa nós internos e folhas são da mesma natureza Apropriado para estruturas em memória central

Exercício M= 4 a) Inserir a chave 40 13 7 23 31 43 2 3 5 13 17 19 31 37 41 43 47 7 11 23 29

Exercício (cont.) M= 4 13 7 23 31 43 2 3 5 13 17 19 31 37 43 47 7 11 23 29 40 41

Exercício (cont.) M= 4 b) Apagar a chave 7 13 40 7 23 31 43 2 3 5 13 17 19 31 37 43 47 7 11 23 29 40 41

Exercício (cont.) M= 4 b) Apagar a chave 11 13 40 5 23 31 43 2 3 13 17 19 31 37 43 47 5 11 23 29 40 41

Exercício (cont.) M= 4 13 40 23 31 43 2 3 5 13 17 19 31 37 43 47 23 29 40 41

Exercício (fim) M= 4 23 40 13 31 43 2 3 5 13 17 19 31 37 43 47 23 29 40 41