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

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

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

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

Á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 Partes I e II

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

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

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

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

Árvores binárias de busca

Á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

Aula 16 Árvores Patricia e Árvores B

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

Árvores binárias de busca

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

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

Árvores Binárias de Busca

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

Árvores Binárias de Busca

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

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

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

Ordenação e Busca em Arquivos

Árvores Binárias de Busca

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

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

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

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

Introdução a AVL: teoria e prática. 22/11, 25/11 e 30/11

Índices. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

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

Universidade Federal de Mato Grosso Estrutura de Dados II

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

Árvores binárias de busca

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

Árvores Binárias Balanceadas

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

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

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

DAINF - Departamento de Informática

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

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

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

Busca em Memória Secundária. Busca em Memória Secundária

Acesso Sequencial Indexado

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

Árvores Binárias. SCC Algoritmos e Estruturas de Dados I. Prof. Fernando V. Paulovich

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

Árvores Genéricas de Busca

Árvores AVL e Árvores B. Jeane Melo

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

Métodos de Busca Parte 1

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

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

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

Árvores AVL (Balanceadas) Profª.Drª. Roseli Ap. Francelin Romero Fonte: Profa. Patrícia Marchetti Revisão: Gedson Faria

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Pesquisa em Memória Primária Árvores de Busca. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Organização de Arquivos

Organização de Arquivos

Programação II. Árvores Binárias (Binary Trees) Bruno Feijó Dept. de Informática, PUC-Rio

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

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

Introdução Métodos de Busca Parte 1

INF 1010 Estruturas de Dados Avançadas

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

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 de Pesquisa. A árvore de pesquisa é uma estrutura de dados muito eficiente para armazenar informação.

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

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

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

AED2 - Aulas 06 e 07 Árvores AVL e rubro-negras

Hashing convencional...

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

ÁRVORE BINÁRIA DE BUSCA

Estrutura de Dados e Algoritmos e Programação e Computadores II. Aula 4: Listas Estáticas e Dinâmicas

Dicionários. TAD Orientado a conteúdo

ÁRVORES BALANCEADAS (AVL)

Árvores de Pesquisa (Parte I)

Módulo 9. Pesquisa em Memória Primária. Algoritmos e Estruturas de Dados II C++ (Rone Ilídio)

1. Proponha algoritmos para: a. Calcular a altura dos nós de uma árvore binária dada, armazenando o valor da altura no nó.

Índices. SCE-203 Algoritmos e Estruturas de Dados II

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

Árvores B. Prof. Flávio Humberto Cabral Nunes

Árvores Binárias de Busca

Algoritmos e Estrutura de Dados II. Árvore AVL. Prof Márcio Bueno. / Material da Prof a Ana Eliza

Árvore AVL A seguir estudaremos árvore AVL e árvore 234. Os slides que versão sobre as árvores retro aludidas foram baseados nos slides gerados pela

Métodos de Busca Parte 2

Á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

Estrutura de Dados. Carlos Eduardo Batista. Centro de Informática - UFPB

Aula 16: Pesquisa em Memória Primária - Árvores de Busca. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Aula T19 BCC202 Pesquisa (Parte 1) Pesquisa Binária. Túlio Toffolo

BANCO DE DADOS Índices em BD Árvores B+

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Estruturas de Dados. Módulo 17 - Busca. 2/6/2005 (c) Dept. Informática - PUC-Rio 1

Transcrição:

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

Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil em índices ordenados... mas com índice grande que não cabe em memória principal, pesquisa binária exige muitos acessos a disco Exemplo: 15 itens podem requerer 4 acessos, enquanto 100.000 itens podem requerer até 17 acessos 2

Problema Cenário Manter em disco um índice ordenado para busca binária tem custo proibitivo Necessidade de método com inserção e eliminação com apenas efeitos locais, isto é, que não exija a reorganização total do índice 3

Solução: árvores binárias de busca? AX, CL, DE, FB, FT, HN, JD, KF, NR, PA, RF, SD, TK, WS, YJ KF FB SD CL HN PA WS AX DE FT JD NR RF TK YJ Vetor ordenado e representação por árvore binária 4

Solução: árvores binárias de busca KF FB SD CL HN PA WS AX DE FT JD NR RF TK YJ KF FB SD 5

Representação da árvore no arquivo KF Chave Filho esq.filho dir. CL FB HN AX DE FT JD PA SD Registros são mantidos em arquivo, e ponteiros (esq e dir) indicam onde estão os registros filhos WS NR RF TK YJ raiz 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 FB 10 8 JD RF SD 6 13 AX YJ PA 11 2 FT HN 7 1 KF 0 3 CL 4 12 NR DE WS 14 5 TK 6

Vantagens Quais são as vantagens de se utilizar ABBs? 7

Vantagens Registros não precisam estar fisicamente ordenados Ordem lógica: dada por ponteiros esq e dir Inserção de uma nova chave no arquivo É necessário saber onde inserir Busca pelo registro é necessária, mas reorganização do arquivo não 8

Inserção de chave Inserção da chave LV KF FB SD CL HN PA WS AX DE FT JD NR RF TK YJ LV 9

Problema: desbalanceamento Inserção das chaves KF NP, MB, TM, LA, UF, FB SD ND, TS e NK CL HN PA WS AX DE FT JD NR RF TK YJ LV LA NP MB ND NK 10

Problema: desbalanceamento Inserção das chaves KF NP, MB, TM, LA, UF, FB SD ND, TS e NK CL HN PA WS A AX DE FT JD NR RF TK YJ B LV C LA NP D MB E F Caso extremo: inserção de chaves em ordem alfabética ND NK 11

Solução por árvores-avl Diferença limitada entre níveis Garante performance aproximada de uma árvore completamente balanceada Tradicionalmente, 1 nível de diferença Procedimentos específicos de inserção e remoção Manutenção feita por 4 tipos de rotação diferentes 12

Árvores binárias perfeitamente balanceadas e AVL Chaves de entrada: B C G E F D A A B D C E F G B C D E F G Árvore perfeitamente balanceada A AVL aceitável 13

Solução por árvores-avl Árvores binárias de busca balanceadas garantem eficiência Busca no pior caso Arvore binária perfeitamente balanceada: altura da árvore, ou seja, log 2 (N+1) AVL, 1.44*log2 (N+2) Exemplo: com 1.000.000 chaves Árvore binária perfeitamente balanceada: busca em até 20 níveis AVL: busca em até 28 níveis 14

Solução por árvores-avl Problema Se chaves em memória secundária, ainda há muitos acessos! 20 ou 28 seeks ainda é muito para disco Até agora... Árvores binárias de busca dispensam ordenação dos registros Mas número excessivo de acessos 15

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Paginação A busca (seek) por uma posição específica do disco é muito lenta Mas, uma vez na posição, pode se ler uma grande quantidade de registros seqüencialmente a um custo relativamente pequeno 16

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Noção de página em sistemas paginados Feito um seek, todos os registros de uma mesma "página" do arquivo (p.ex. 2 KB de um setor) são lidos Esta página pode conter um número grande de registros Se o próximo registro a ser recuperado estiver na mesma página já lida, evita-se novo acesso Em ABB ou AVL quais informações temos ao recuperar um nó, e quais estão disponíveis na página lida? 17

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Alocar múltiplos nós nas mesmas páginas 18

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Cada página aloca 7 nós e permite acesso a 8 páginas Assim, qualquer um dos 63 registros (9x7 nós) pode ser acessado em, no máximo, 2 acessos 19

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Se a árvore é estendida com um nível de paginação adicional, adicionamos 64 novas páginas Podemos encontrar qualquer uma das 511 (64 x 7 + 63) chaves fazendo apenas 3 seeks (contra 9 de uma AVL) 20

Eficiência da árvore paginada Supondo que Cada página de uma árvore ocupa 4KB e armazena 511 pares chave/referencia Cada página contém uma árvore completa perfeitamente balanceada Uma árvore de 3 níveis pode armazenar 134.217.727 chaves Encontra-se qualquer uma das chaves com no máximo 3 seeks 21

Eficiência da árvore Pior caso da busca ABB completa, perfeitamente balanceada: log2 (N+1) Versão paginada: logk+1 (N+1) onde N é o número total de chaves, e k é o número de chaves armazenadas em uma página Note que, na ABB tradicional, base do log2 nada mais é do que 1 chave por página + 1 Exemplo ABB: log2 (134.217.727) = 27 acessos Versão paginada: log511+1 (134.217.727) = 3 acessos 22

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Preços a pagar? 23

Solução por Árvores Binárias Paginadas (Paged Binary Trees) Preços a pagar Maior tempo na transmissão de dados Necessário manter a organização da árvore 24

A invenção das árvores-b Arvores-B: generalização de uma ABB paginada Não binárias, com conteúdo de uma página não mantido como árvore 1960s: competição entre fabricantes e pesquisadores 1972: Bayer and McGreight (trabalhando pela Boeing) publicam o artigo Organization and Maintenance of Large Ordered Indexes 1979: árvores-b viram padrão em sistemas de arquivos de propósito geral De onde vem o B do nome? 25

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 26

Características Gerais Índice extremamente volumoso Pool de buffers é pequeno apenas uma parcela do índice pode ser carregada em memória principal operações baseadas em disco

Construção Top-Down de árvores paginadas Se conjunto de chaves é conhecido, construção da árvore é simples 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 28

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 29

Construção Top-Down de árvores paginadas Figura anterior: a construção foi feita topdown, a partir da raiz Quando uma chave é inserida, a árvore dentro da página pode sofrer rotações para manter o balanceamento Construção a partir da raiz implica em que as chaves iniciais tendem a ficar na raiz C e D não deveriam estar no topo, pois acabam desbalanceando a árvore de forma definitiva 30

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? 31

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

Construção Bottom-Up Conseqüências Chaves indevidas não são mais alocadas na raiz Elimina as questões em aberto de chaves separadoras e de chaves extremas Não é necessário tratar o problema de desbalanceamento na árvore B, as chaves na raiz da árvore emergem naturalmente 33

Características Conteúdo de cada 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 34

Propriedades das árvores-b Uma árvore B é n ária pois possui mais de 2 descendentes por nó (página). Numa árvore B de ordem m 1. Cada página tem: no máximo, m descendentes e m 1 registros no mínimo m/2 descendentes (exceto raiz e folhas) 2. A raiz tem, no mínimo, dois descendentes a menos que seja uma folha 3. Todas as folhas estão no mesmo nível 4. Uma página não folha com k descendentes contém k 1 chaves 5. Uma página folha contém, no mínimo m/2-1 e, no máximo, m 1 chaves 35

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 36

Estrutura Lógica de um Nó chave de busca campo de referência (omitido) campos de tamanho fixo, em princípio 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 37

Estrutura Lógica de um Nó chave de busca registro completo campos de tamanho fixo, em princípio 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 38

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

Características Ordem 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 40

Estrutura típica de um nó const m = 2; // ordem da arvore B typedef struct node_btree Btree; struct node_btree { int num_keys; // numero de chaves armazenadas char keys[2*m 1]; // vetor de chaves Btree *desc[2*m]; // ponteiros para os descendentes bool leaf; // flag folha da arvore };

Inserção de Dados (Chave) Característica Sempre realizada nos nós folha Situações a serem analisadas 1. árvore vazia 2. overflow no nó raiz 3. inserção em nós folha 42

Inserção em árvore vazia

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 ordem 8 chaves: letras do alfabeto situação inicial: árvore vazia 44

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 (NULL) nós internos: referência para o nó filho ou -1 Nó raiz (= nó folha nesse momento) * A * B * C * D * E * F * G * 45

Overflow no nó raiz

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 considerando chaves do nó original + nova chave Exemplo: inserção de J em particionamento da página * A * B * C * D * E * F * G * * A * B * C * D * * * * * E * F * G * J * * * * 47

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 Esquema nova raiz será construída com 1 elemento qual elemento deve ser incluído? esse será a chave separadora. * * * * * * * * * * * * * * * * * * * * * * 48

Inserção: overflow nó raiz Passo 3 promoção de chave (promotion) a primeira chave do novo nó após particionamento é promovida para o nó raiz Exemplo E * * * * * * * A * B * C * D * * * * * F * G * J * * * * * 49

Inserção em nós folha

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 51

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 (nó por onde a pesquisa passou antes) ajuste do nó pai para apontar para o novo nó propagação de overflow 52

Exemplo Insira as seguintes chaves em um índice árvore-b C S D T A M P I B W N G U K Ordem da árvore-b: 4 em cada nó (página de disco) número de chaves: 3 número de ponteiros: 4 53

C S D T A M P I B W N G U Passo 1 inserção de C, S, D criação do nó raiz C C S C D S RRN da página 0 C D S 1 1 1 1 54

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

C S D T A M P I B W N G U 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 56

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

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

C S D T A M P I B W N G U 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 59

C S D T A M P I B W N G U 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 60

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

C S D T A M P I B W N G U 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 4 1 A B C I M P T W I M P N P 62

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

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

K particionamento do nó 3 promoção de K particionamento do nó 2 e criação de nova raiz Passo 8 inserção de K 7 2 D N S D K 6 N S 0 3 5 4 1 A B C G I M P R T K M U W 65

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

Exercício Na árvore-b do exemplo anterior, insira a chave $, sendo que $ < A 67

Exercício 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 diferentemente do exemplo anterior, escolha o último elemento do primeiro nó para promoção durante o particionamento do nó. 68

Exercício Construa uma árvore-b de ordem 3 pela inserção das chaves A, B, C, D, E, F, G, H e I, nessa ordem Qual o efeito da inserção das chaves em ordem alfabética? A árvore degenerou? 69