Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Documentos relacionados
Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores B. Árvores B Parte II. Características. Características. Construção Bottom-Up. Leandro C. Cintra Maria Cristina F. de Oliveira.

Árvores B Partes I e II

Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Algoritmo: Split. Árvores B Parte IV. Algoritmo: Split. Algoritmo: Split. Algoritmo: Split. Procedimento inicial. Parâmetros

Árvores B Parte IV. Revisão de Inserção. Organização. Variantes. Leandro C. Cintra Maria Cristina F. de Oliveira

Árvores B (Parte III)

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1

Hashing convencional...

Árvores B Parte III. Propriedades, Remoção & Inserção Revisitada. Adaptado e Estendido dos Originais de:

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de:

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri

Definição. Árvores B Parte III. Propriedades Gerais. Propriedade (No. Mín. de Chaves) Leandro C. Cintra Maria Cristina F.

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II Árvore-B +

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Ordenação e Busca em Arquivos

Acesso a Arquivos. Árvores B Parte VI. Acesso Seqüencial & Indexado. Questão. Foco 1. Uso de Blocos. Árvores B+ Alternativas (até o momento)

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures

Hashing externo. Graça Nunes. Fonte: Folk & Zoelick, File Structures

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

Árvores-B: Remoção. Cristina Dutra de Aguiar Ciferri Thiago A. S. Pardo

Árvores-B + SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Cristina Dutra de Aguiar Ciferri

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

Armazenamento Secundário. Endereços no disco. Organização da informação no disco. Organização da informação no disco

Algoritmos e Estruturas de Dados I Aula 15 Árvores de busca balanceadas (e mais...)

ARMAZENAMENTO SECUNDÁRIO, PARTE 1 Professora Rosane Minghim

Acesso Sequencial Indexado

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Árvores Genéricas de Busca

Aula 16 Árvores Patricia e Árvores B

ESTRUTURA DE DADOS DCC013. Árvore Binária de Busca

Árvore B. Uma Árvore B de ordem m éumaárvore,talque: Cada nó contém no máximo m

INF 1010 Estruturas de Dados Avançadas

Árvores Binárias Balanceadas

Indexação de Arquivos III:

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

Árvores binárias de busca

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação. Árvores Balanceadas

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Dicionários. TAD Orientado a conteúdo

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Ordenação de Dados (III) HeapSort

ESTRUTURA DE DADOS E ALGORITMOS. Árvores Binárias de Busca. Cristina Boeres

Busca em Regiões Ortogonais

Árvores-B: Remoção. Cristina Dutra de Aguiar Ciferri Thiago A. S. Pardo

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

ÁRVORES ABB (ÁRVORES BINÁRIAS DE BUSCAS) Sérgio Carlos Portari Júnior

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo?

Estruturas de Dados. Aula 08. Árvores AVL II. Karina Mochetti

Pesquisa em Memória Secundária. Prof. Jonas Potros

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Árvores Binárias de Busca (ABB) 18/11

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Aula 18 Árvores B e parâmetros de compilação

Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Bit (Binary Digit) é a menor unidade de armazenamento de informação dentro do computador; Byte é a união de 8 bits capaz de representar 256

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores binárias de busca

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree

Quarto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice simples ou linear. Descrição de páginas de disco

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores

Árvores Binárias de Busca (ABB) 18/11

BANCO DE DADOS Índices em BD Árvores B+

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

Organização de Arquivos. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri

Linguagem C: Árvores AVL

INF 1010 Estruturas de Dados Avançadas

INE5408 Estruturas de Dados

Métodos de Ordenação Parte I

Indexação de Arquivos II:

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro

HDs. Armazenamento Secundário. HDs. Capacidade do Disco. Organização de Informação em Disco. Organização de Informação em Disco

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches

10.1. Aula 10: Pilhas. O conceito de pilha. Algoritmos de inserção e remoção. Exemplo: Notação Polonesa

Chaves. Acesso a Registros. Chaves Primária e Secundária. Chaves Primária e Secundária

Árvores. SCC-214 Projeto de Algoritmos. Thiago A. S. Pardo. Um nó após o outro, adjacentes Sem relações hierárquicas entre os nós, em geral

Gerenciamento de Memória. Aleardo Manacero Jr.

Armazenamento Secundário

Árvores AVL e Árvores B. Jeane Melo

Transcrição:

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures (atualizado 2007 c/ material Profa. Cristina Ciferri)

Construção de árvores-b

Características Gerais Organizar e manter um índice para um arquivo de acesso aleatório altamente dinâmico Índice n elementos (x,a) de tamanho fixo... n chave de busca x campo de referência a 3

Características Gerais Índice extremamente volumoso Buffer-pool pequeno apenas uma parcela do índice pode ser carregada em memória principal operações baseadas em disco Desempenho proporcional a log K I ou melhor I: tamanho do índice K: tamanho da página de disco 4

Construção Top-Down de árvores paginadas É simples construir uma árvore paginada se todo o conjunto de chaves é conhecido antes de iniciar a construção Inicia-se pela chave do meio para obter uma árvore balanceada Porém, é complicado se as chaves são recebidas em uma seqüência aleatória 5

Construção Top-Down de árvores paginadas Ordem: C S D T A M P I B W N G U R K E H O L J Y Q Z F X V 6

Construção Top-Down de árvores paginadas Na figura anterior, a construção foi feita top-down, a partir da raiz Sempre que uma chave é inserida a árvore dentro da página sofre uma rotação, sempre que necessário, para manter o balanceamento Construção a partir da raiz implica em que as chaves iniciais estarão necessariamente na raiz C e D não deveriam estar no topo, pois acabam desbalanceando a árvore de forma definitiva Esta árvore não está tão ruim, mas o que aconteceria se as chaves fossem fornecidas em ordem alfabética? 7

Construção Top-Down de árvores paginadas Questões como garantir que as chaves na página raiz são boas separadoras, i.e., dividem o conjunto de chaves de maneira balanceada? como impedir o agrupamento de chaves que não deveriam estar na mesma página (como C, D e S, por exemplo) como garantir que cada página contenha um número mínimo de chaves? 8

Árvore B Características balanceada bottom-up para a criação (em disco) nós folhas nó raiz Inovação não é necessário construir a árvore a partir do nó raiz, como é feito para árvores em memória principal e para as árvores anteriores 9

Construção Bottom-Up Conseqüências chaves erradas não são mais alocadas no nó raiz elimina as questões em aberto de chaves separadoras e de chaves extremas não é necessário tratar o problema de desbalanceamento usando algoritmos de reorganização da árvore na árvore-b, as chaves na raiz da árvore emergem naturalmente 10

Características Nó (= página de disco) seqüência ordenada de chaves conjunto de ponteiros número de ponteiros = número de chaves + 1 não há uma árvore explícita dentro de uma página (ou nó da árvore) 11

Ordem Características número máximo de ponteiros que pode ser armazenado em um nó exemplo: árvore-b de ordem 8 máximo de 7 chaves e 8 ponteiros Observações número máximo de ponteiros é igual ao número máximo de descendentes de um nó nós folhas não possuem filhos, e seus ponteiros são nulos 12

Estrutura Lógica de um Nó chave 1 chave 2 chave 3... chave q-1 chave q < chave 1 > chave 1 < chave 2 > chave 2 < chave 3 > chave q-1 < chave q > chave q 13

Estrutura Lógica de um Nó chave de busca campo de referência (omitido) campos de tamanho fixo chave 1 chave 2 chave 3... chave q-1 chave q < chave 1 > chave 1 < chave 2 > chave 2 < chave 3 > chave q-1 < chave q > chave q 14

Estrutura Lógica de um Nó chave de busca registro completo chave 1 chave 2 chave 3... chave q-1 chave q < chave 1 > chave 1 < chave 2 > chave 2 < chave 3 > chave q-1 < chave q > chave q 15

Exemplo D H K A B C E G I J L M * * * * * * * * * * * * * * * * 16

Inserção de Dados (Chave) Característica sempre realizada nos nós folhas Situações a serem analisadas árvore vazia overflow no nó raiz inserção nos nós folhas 17

Inserção: Situação Inicial Criação e preenchimento do nó primeira chave: criação do nó raiz demais chaves: inserção até a capacidade limite do nó Exemplo nó com capacidade para 7 chaves chaves: letras do alfabeto situação inicial: árvore vazia 18

Inserção: Situação Inicial Chaves B C G E F D A inseridas desordenadamente mantidas ordenadas no nó Ponteiros (*) nós folhas: -1 ou fim de lista (NIL) nós internos: RRN do nó filho ou -1 Nó raiz (= nó folha) * A * B * C * D * E * F * G * 19

Inserção: Overflow Nó Raiz Passo 1 particionamento do nó (split) nó original nó original + novo nó split 1-to-2 as chaves são distribuídas uniformemente nos dois nós chaves do nó original + nova chave Exemplo: inserção de J * A * B * C * D * * * * * E * F * G * J * * * * 20

Inserção: Overflow Nó Raiz Passo 2 criação de uma nova raiz a existência de um nível mais alto na árvore permite a escolha das folhas durante a pesquisa Exemplo qual deve ser a chave separadora? * * * * * * * * * * * * * * * * * * * * * * 21

Inserção: Overflow Nó Raiz Passo 3 promoção de chave (promotion) a primeira chave do novo nó resultante do particionamento é promovida para o nó raiz Exemplo E * * * * * * * A * B * C * D * * * * * F * G * J * * * * * 22

Inserção: Nós Folhas Passo 1 pesquisa a árvore é percorrida até encontrar o nó folha no qual a nova chave será inserida Passo 2 inserção em nó com espaço ordenação da chave após a inserção alteração dos valores dos campos de referência nó folha em memória principal 23

Inserção: Nós Folhas Passo 2 inserção em nó cheio particionamento criação de um novo nó (nó original nó original + novo nó) distribuição uniforme das chaves nos dois nós promoção escolha da primeira chave do novo nó como chave separadora no nó pai ajuste do nó pai para apontar para o novo nó propagação de overflow 24

Exemplo Insira as seguintes chaves em um índice árvore-b C S D T A M P I B W N G U R K E H O L J Y Q Z F X V Ordem da árvore-b: 4 em cada nó (página de disco) número de chaves: 3 número de ponteiros: 4 25

C S D T A M P I B W N G U R K... Passo 1 inserção de C, S, D criação do nó raiz C C S C D S 0 C D S -1-1 -1-1 26

C S D T A M P I B W N G U R K... Passo 2 inserção de T nó raiz cheio 2 particionamento do nó criação de uma nova raiz promoção de S S 0 C D 1 T S T 27

C S D T A M P I B W N G U R K... Passo 3 inserção de A nó folha com espaço 2 S 0 1 A C D T 28

C S D T A M P I B W N G U R K... Passo 4 inserção de M nó folha 0 cheio particionamento do nó promoção de D 2 S D S 0 3 A C M D M 1 T 29

C S D T A M P I B W N G U R K... Passo 5 inserção de P, I, B, W nós folhas com espaço 2 D S 0 3 1 A B C I M P T W A C M M P T 30

C S D T A M P I B W N G U R K... Passo 6 inserção de N nó folha 3 cheio particionamento do nó promoção de N 2 D S D N S 0 3 1 1 A B C I M P T W I M P N P 31

C S D T A M P I B W N G U R K... Passo 7 inserção de G, U, R nós folhas com espaço 2 D N S 0 3 1 1 A B C G I M P R T U W I M P T W 32

C S D T A M P I B W N G U R K... Passo 8 inserção de K nó folha 3 cheio 7 N particionamento do nó 3 promoção de K particionamento do nó 2 promoção de N 2 D N S K 6 N S D K S 0 3 1 4 1 A B C G I M P R T U W G I M K K M 33

... E H O L J Y Q Z F X V Finalizar a construção da árvore 34

Exercícios Na árvore-b do exemplo anterior, insira a chave $, sendo que $ < A. Insira as seguintes chaves em um índice árvore-b C S D T A M P I B W N G U R K E H O L J Y Q Z F X V diferentemente do exemplo anterior, escolha o último elemento do primeiro nó para promoção durante o particionamento do nó. 35

Exemplo Inserção: C S D T A M P I B W N G U R K E H O L J Y Q Z F X V 36