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

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

Á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

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

Á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

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

Árvores B (Parte III)

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

Hashing convencional...

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

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

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

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

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

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 + 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...

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)

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

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

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

Acesso Sequencial Indexado

Árvores Genéricas de Busca

Aula 16 Árvores Patricia e Árvores B

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

INF 1010 Estruturas de Dados Avançadas

Árvores Binárias Balanceadas

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

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

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

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

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

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

Indexação de Arquivos III:

Busca em Regiões Ortogonais

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

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

Árvores binárias de busca

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

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

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

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

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

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

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

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

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

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

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

Á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

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

INF 1010 Estruturas de Dados Avançadas

INE5408 Estruturas de Dados

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

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

Á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.

Árvores binárias de busca

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

Árvores AVL e Árvores B. Jeane Melo

Árvores Estrutura de Dados. Universidade Federal de Juiz de Fora Departamento de Ciência da Computação

ANÁLISE E PROJETO DE BANCO DE DADOS

BANCO DE DADOS Índices em BD Árvores B+

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

Organização de Arquivos

Organização de Arquivos

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

Árvores Binárias de Busca

Linguagem C: Árvores AVL

Métodos de Ordenação Parte I

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Organização de Arquivos

Filas de prioridade. Marcelo K. Albertini. 27 de Novembro de 2014

Filas de prioridade. Marcelo K. Albertini. 3 de Dezembro de 2013

Transcrição:

Árvores-B (Parte II) Construção de árvores-b Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures 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 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 campo de de busca x referência a 3 4

Construção Top-Down de árvores paginadas É simples construir uma árvore paginada se todo o conjunto de s é conhecido antes de iniciar a construção Inicia-se pela do meio para obter uma árvore balanceada Porém, é complicado se as s são recebidas em uma seqüência aleatória Construção Top-Down de árvores paginadas Ordem: K E H O L J Y Q Z F X V 5 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 é 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 s 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 s fossem fornecidas em ordem alfabética? Construção Top-Down de árvores paginadas Questões como garantir que as s na página raiz são boas separadoras, i.e., dividem o conjunto de s de maneira balanceada? como impedir o agrupamento de s 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 s? 7 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 s erradas não são mais alocadas no nó raiz elimina as questões em aberto de s separadoras e de s extremas não é necessário tratar o problema de desbalanceamento usando algoritmos de reorganização da árvore na árvore-b, as s na raiz da árvore emergem naturalmente 0 Características Nó (= página de disco) seqüência ordenada de s conjunto de ponteiros número de ponteiros = número de s + não há uma árvore explícita dentro de uma página (ou nó da árvore) 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 s 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 3

Estrutura Lógica de um Nó Estrutura Lógica de um Nó de busca campo de referência (omitido) campos de tamanho fixo 3... q- q 3... q- q < > < > < 3 > q- < q > q < > < > < 3 > q- < q > q 3 4 Estrutura Lógica de um Nó de busca registro completo Exemplo D H K 3... q- q * A * B * C * * E * G * * * I * J * * * L * M * * < > < > < 3 > q- < q > q 5 6 4

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 Inserção: Situação Inicial Criação e preenchimento do nó primeira : criação do nó raiz demais s: inserção até a capacidade limite do nó Exemplo nó com capacidade para 7 s s: letras do alfabeto situação inicial: árvore vazia 7 8 Inserção: Situação Inicial Chaves B C G E F D A inseridas desordenadamente mantidas ordenadas no nó Ponteiros (*) nós folhas: - ou fim de lista (NIL) nós internos: RRN do nó filho ou - Nó raiz (= nó folha) * A * B * C * D * E * F * G * Inserção: Overflow Nó Raiz Passo particionamento do nó (split) nó original nó original + novo nó split -to- as s são distribuídas uniformemente nos dois nós s do nó original + nova Exemplo: inserção de J * A * B * C * D * * * * * E * F * G * J * * * * 9 0 5

Inserção: Overflow Nó Raiz Passo 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 separadora? Inserção: Overflow Nó Raiz Passo 3 promoção de (promotion) a primeira do novo nó resultante do particionamento é promovida para o nó raiz Exemplo * * * * * * E * * * * * * * * * * * * * * * * * * * * * * * A * B * C * D * * * * * F * G * J * * * * * Inserção: Nós Folhas Passo pesquisa a árvore é percorrida até encontrar o nó folha no qual a nova será inserida Passo inserção em nó com espaço ordenação da após a inserção alteração dos valores dos campos de referência nó folha em Inserção: Nós Folhas Passo inserção em nó cheio particionamento criação de um novo nó (nó original nó original + novo nó) distribuição uniforme das s nos dois nós promoção escolha da primeira do novo nó como separadora no nó pai ajuste do nó pai para apontar para o novo nó propagação de overflow memória principal 3 4 6

Exemplo Insira as seguintes s em um índice árvore-b 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 s: 3 número de ponteiros: 4 Passo inserção de C, S, D criação do nó raiz C C S C D S 0 C D S - - - - 5 6 Passo inserção de T nó raiz cheio S particionamento do nó criação de uma nova raiz promoção de S Passo 3 inserção de A nó folha com espaço S 0 C D T S T 0 A C D T 7 8 7

Passo 4 inserção de M nó folha 0 cheio S D S particionamento do nó promoção de D Passo 5 inserção de P, I, B, W nós folhas com espaço D S A C M T A B C I M P T W D M A C M M P T 9 30 Passo 6 inserção de N nó folha 3 cheio D S D N S particionamento do nó promoção de N Passo 7 inserção de G, U, R nós folhas com espaço D N S A B C I M P T W A B C G I M P R T U W I M P N P I M P T W 3 3 8

Passo 8 inserção de K nó folha 3 cheio 7 N particionamento do nó 3 promoção de K particionamento do nó promoção de N... E H O L J Y Q Z F X V Finalizar a construção da árvore D N S K D K 6 N S S 4 A B C G I M P R T G I M K K M U W 33 34 Exemplo Inserção: K E H O L J Y Q Z F X V Exercícios Na árvore-b do exemplo anterior, insira a $, sendo que $ < A. Insira as seguintes s em um índice árvore-b 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 36 9