CT-234. Análise de Algoritmos e Complexidade Estrutural. Carlos Alberto Alonso Sanches



Documentos relacionados
Árvores Binárias de Busca

Árvores Binárias de Busca

Árvores Balanceadas. Árvore binária completamente balanceada. Ocorre quando a árvore está cheia ou quase cheia com o nível n-1 completo

Árvores AVL. Prof. Othon M. N. Batista Estrutura de Dados

BC1424 Algoritmos e Estruturas de Dados I. Aula 16: Árvores (introdução) Prof. Jesús P. Mena-Chalco. jesus.mena@ufabc.edu.br

Árvores Binárias Balanceadas

Busca. Pesquisa sequencial

Árvore Binária de Busca. Algoritmos e Estrutura de Dados II. Operações Busca e Sucessor. Árvore Binária de Busca. Árvores Rubro-Negras

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

Árvore B UNITINS ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 3º PERÍODO 43

Estruturas de Dados. Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos

1. Introdução Definição Conceitos relacionados... 2

FACULDADE CAMPO LIMPO PAULISTA MESTRADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto e Análise de Algoritmos II Lista de Exercícios 2

Estruturas de Dados I

ALGORITMOS E ESTRUTURAS DE DADOS CES-11 CES-11 CES-11

Algoritmos e Estrutura de Dados III. Árvores

ÁRVORES BINÁRIAS DE PESQUISA

O ESPAÇO NULO DE A: RESOLVENDO AX = 0 3.2

EAD Árvore árvore binária

Árvores. Algoritmos e Estruturas de Dados 2005/2006

Árvore Binária de Busca

Linguagem C: Árvores Binarias

EAD Árvore - representação usando listas ligadas

Estruturas de Dados Árvores

Orientação a Objetos

Sistemas Operacionais

Sumário. 5COP096 Teoria da Computação Aula 8 Pesquisa em Memória Primária

Classificação e Pesquisa de Dados

Unidade 5 Armazenamento e Indexação

PROGRAMAÇÃO II 4. ÁRVORE

BUSCA EM LISTAS LISTAS SEQÜENCIAIS, LISTAS SIMPLESMENTE E DUPLAMENTE ENCADEADAS E LISTAS CIRCULARES

Só Matemática O seu portal matemático FUNÇÕES

Árvores Vermelho-Preto

Árvores Vermelho-Preto

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

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

Soluções Nível 1 5 a e 6 a séries (6º e 7º anos) do Ensino Fundamental

Algoritmos e Estrutura de Dados. Aula 13 Estrutura de Dados: Árvores de Pesquisa Binária Prof. Tiago A. E. Ferreira

x0 = 1 x n = 3x n 1 x k x k 1 Quantas são as sequências com n letras, cada uma igual a a, b ou c, de modo que não há duas letras a seguidas?

Algoritmos de Busca em Tabelas

INF 1007 Programação II

Árvores B + Prof Márcio Bueno. ed2tarde@marciobueno.com / ed2noite@marciobueno.com. Material da Prof a Ana Eliza Lopes Moura

Árvores Rubro-Negras. Árvores Rubro-Negras. (Vermelho-Preta) Estrutura da Árvore. Estrutura da Árvore

Árvores de Suporte de Custo Mínimo

Busca em Memória. Secundária

Exercícios Teóricos Resolvidos

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

Batalha Naval Algoritmos de Busca. Correlações curriculares Matemática: Números: maior que, menor que, iguais a.

N1Q1 Solução. a) Há várias formas de se cobrir o tabuleiro usando somente peças do tipo A; a figura mostra duas delas.

Organização de arquivos

INF PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 15

Fila de Prioridade. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

INF1007: Programação 2 10 Árvores Binárias. (c) Dept. Informática - PUC-Rio 1

Hashing. Rafael Nunes LABSCI-UFMG

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Memória Cache. Prof. Leonardo Barreto Campos 1

3 Classificação Resumo do algoritmo proposto

Pedro Vasconcelos DCC/FCUP. Programação Funcional 15 a Aula Árvores de pesquisa

Aula T20 BCC202 Pesquisa (Parte 2) Árvores de Pesquisa. Túlio Toffolo

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

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS (C6/6) Curso: Informática

Dicas para a 6 a Lista de Álgebra 1 (Conteúdo: Homomorfismos de Grupos e Teorema do Isomorfismo para grupos) Professor: Igor Lima.

UNIVERSIDADE FEDERAL DA BAHIA INSTITUTO DE MATEMÁTICA 5 0 Encontro da RPM TRANSFORMAÇÕES NO PLANO

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Computadores XXI: Busca e execução Final

Prof. Daniela Barreiro Claro

Simulado OBM Nível 2

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

O Problema do Troco Principio da Casa dos Pombos. > Princípios de Contagem e Enumeração Computacional 0/48

ESTRUTURAS DE DADOS II MSc. Daniele Carvalho Oliveira

Exercícios resolvidos sobre Definição de Probabilidade

AV1 - MA (b) Se o comprador preferir efetuar o pagamento à vista, qual deverá ser o valor desse pagamento único? 1 1, , , 980

SUMÁRIO. Introdução... 3

ESTRUTURAS DE DADOS II

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

Árvore Vermelho-Preta. Estrutura de Dados II Jairo Francisco de Souza

Árvores binárias de pesquisa com balanceamento. Algoritmos e Estruturas de Dados II

Tabela de símbolos: tabelas de espalhamento

E A D - S I S T E M A S L I N E A R E S INTRODUÇÃO

Métodos de Pesquisa em Memória Primária

Cotagens especiais. Você já aprendeu a interpretar cotas básicas

AV2 - MA (a) De quantos modos diferentes posso empilhá-los de modo que todos os CDs de rock fiquem juntos?

Métodos Computacionais. Árvores

Figura 1 Busca Linear

Árvores e Árvores Binárias

Utilização do SOLVER do EXCEL

Sistemas Operacionais

Análise e Complexidade de Algoritmos

Índices* Professora Rosane Minghim. * Baseado no material de Leandro C. Cintra e M. C. F. de Oliveira. Fonte: Folk & Zoelick, File Structures.

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

Algoritmos de pesquisa. Tabelas de dispersão/hash

Gerenciamento de Clientes

Estruturas de Dados. Árvores AVL. Cesar Tadeu Pozzer. Curso de Ciência da Computação UFSM (12/12/2007)

Orientação a Objetos

Programação de Robótica: Modo Circuitos Programados - Avançado -

Algoritmos e Estruturas de Dados: Árvore Binária de Busca

INSTRUMENTAÇÃO E CONTROLE DE PROCESSOS SISTEMAS DE CONTROLE. Na maior parte das aplicações, um sistema de controle e composto de:

Transcrição:

CT-234 Estruturas de Dados, Análise de Algoritmos e Complexidade Estrutural Carlos Alberto Alonso Sanches

CT-234 4) Árvores balanceadas AVL, Rubro-Negras, B-Trees

Operações em árvores binárias de busca Numa árvore binária de busca, também costuma haver operações de inserção e de eliminação de dados. Inserção ingênua : São realizadas comparações a partir da raiz, descendo-se à esquerda ou à direita, até encontrar uma posição vaga. Eliminação ingênua : Inicialmente, é preciso encontrar o nó a ser eliminado. Se for uma folha, basta retirá-la. Se tiver um único filho, este filho ocupará o seu lugar. Se tiver dois filhos, será necessário trocá-lo com o descendente mais à esquerda da sub-árvore direita (ou com o descendente mais à direita da sub-árvore esquerda). A realização aleatória dessas operações pode gerar árvores binárias i de busca com formatos muito variados, comprometendo a eficiência das futuras operações...

Necessidade de balanceamento Uma árvore binária de busca com inserções e eliminações aleatórias não garante acesso em tempo logarítmico: Essas operações podem desbalanceá-la. Pior caso: a árvore degenera em lista ligada, onde a busca passa a gastar tempo linear. Balanceamento das árvores binárias de busca: Evitam esses casos degenerados. Garantem tempo logarítmico em todas as operações. Requerem algoritmos mais elaborados para inserção e eliminação. De modo geral, os nós das árvores balanceadas armazenam mais informações. Dois conhecidos modelos: árvores AVL e rubro-negras.

Árvores AVL Autores: Adelson-Velskii e Landis (1962) Foi o primeiro modelo de balanceamento proposto para árvores binárias i de busca. Exigências para as sub-árvores de cada nó: Diferença de alturas não pode exceder 1 Pode ser mantida sem onerar o tempo das operações Garante altura logarítmica para a árvore Definição: uma árvore AVL é uma árvore binária de busca em cujos nós as alturas das sub-árvores bá diferem no máximo de uma unidade.

Árvores AVL 12 12 8 16 8 16 4 10 14 2 6 Inserção do 5 4 10 14 2 6 5 Desbalanceamento Após cada inserção ou eliminação, é necessário verificar o balanceamento de todos os nós da árvore

Inserção em árvores AVL Após uma inserção, somente podem ficar desbalanceados os nós do caminho ih da raiz até esse novo nó. Nesse caminho, é preciso encontrar o nó mais profundo (de maior nível) no qual ocorreu desbalanceamento. Veremos que basta rebalancear esse nó! Supondo que X seja esse nó, possíveis casos a serem analisados: a) árvore esquerda do filho esquerdo de X b) árvore direita do filho esquerdo de X c) árvore esquerda do filho direito it de X d) árvore direita do filho direito de X Casos simétricos: i a e d (caso 1); b e c (caso 2).

Caso 1: rotação simples k2 k1 k1 k2 C B A B C A k2 é nó mais profundo que sofreu desbalanceamento Sua sub-árvore esquerda ficou 2 níveis abaixo da direita B não está no mesmo nível de A (pois k2 estaria desbalanceado antes da inserção) B não está no mesmo nível que C (pois k1 seria o nó mais profundo)

Exemplo 12 12 A k1 k2 16 k1 16 8 C 4 10 14 2 6 B A 4 k2 2 8 14 1 6 B 10 C 1 A árvore resultante é AVL k1 e k2 ficam balanceados A altura da árvore resultante é igual à da árvore anterior à inserção A troca de ponteiros pode ser feita em tempo constante O nó k2 pode ser encontrado em tempo proporcional à altura da árvore

Caso 2 k2 k1 k1 k2 D A A Q Q D Uma rotação simples não resolveria o desbalanceamento A sub-árvore Q que está a 2 níveis de diferença de D passaria a A sub árvore Q, que está a 2 níveis de diferença de D, passaria a estar a 2 níveis de diferença de A

Caso 2: rotação dupla k2 k3 k1 k1 k2 k3 D A A B C D B C Uma (e somente uma) das sub-árvores B ou C está 2 níveis abaixo de D k3 ficaria na raiz As novas posições de k1, k2 e das sub-árvores respeitam a ordenação A altura da árvore resultante é igual à da árvore anterior à inserção

Exemplo 12 12 k1 k2 8 D 4 10 14 16 k1 k3 6 k2 4 8 14 16 A 2 6 k3 A 2 5 B C 10 D B 5 C Essa rotação dupla corresponde a 2 rotações simples Entre k1 e k3 Entre k2 e k3 Também pode ser feita em tempo constante

Eliminação em árvores AVL A eliminação de um nó numa árvore AVL é, inicialmente, análoga à que ocorre numa árvore binária de busca. Como foi comentado, essa técnica pode provocar desbalanceamentos na árvore. O rebalanceamento começará no nó mais profundo que, após a eliminação, perdeu a propriedade dd AVL. Do modo semelhante às inserções será preciso Do modo semelhante às inserções, será preciso verificar três pares de casos.

Casos de rotação simples Nos dois esquemas abaixo, como a eliminação ocorreu na sub-árvore C, bastará realizar uma rotação simples: k2 k1 k2 k1 k1 k2 k1 k2 ou C C A C B A B C A B B A No segundo esquema, a sub-árvore resultante diminuiu de altura (uma unidade). Por isso, também será preciso realizar um eventual rebalanceamento no pai de k1. Isso pode continuar até a raiz... á é é Há também os correspondentes casos simétricos a esses esquemas (C é inicialmente a sub-árvore esquerda de k2).

Casos de rotação dupla No esquema abaixo, B ou C podem ter altura menor (uma unidade). d Como a eliminação i ocorreu na sub-árvore D, será preciso realizar uma rotação dupla: k2 k3 k1 k1 k2 k3 D A A B C D B C A sub-árvore resultante diminuiu de altura (uma unidade). Por isso, também será preciso realizar um eventual rebalanceamento no pai de k3. Isso pode continuar até a raiz... Há também o caso simétrico, onde D é inicialmente a subárvore esquerda de k2 e k3 é filho esquerdo de k1.

Altura de árvores AVL Seja n(h) o número mínimo de nós de uma árvore AVL com altura h. Sabemos que n(0)=1 e n(1)=2. Para h>1, essa árvore AVL mínima será formada pela raiz, por uma sub-árvore de altura h-1 e por outra sub-árvore de altura h-2. Portanto, n(h) = 1 + n(h-1) + n(h-2), para h>1. Como n(h-1) > n(h-2), sabemos que n(h) > 2.n(h-2). Repetindo: n(h) > 2.n(h-2) > 2.(2.n(h-2-2)) = 4.n(h-4) n(h) > 4.n(h-4) > 4.(2.n(h-4-2)) ( = 8.n(h-6) Generalizando: n(h) > 2 i.n(h-2i), para i>0.

Altura de árvores AVL n(h) > 2 i.n(h-2i), para i>0. Consideremos o caso h-2i = 1, ou seja, i = (h-1)/2: n(h) > 2 (h-1)/2.n(1) n(h) > 2.2 (h-1)/2 n(h) > 2 (h+1)/2 lg n(h) > (h+1)/2 h < 2.lg n(h) - 1 h = O(log n), ou seja, a altura de uma árvore AVL é de ordem logarítmica em relação ao seu número de nós. Portanto, os algoritmos de inserção, de eliminação e de busca na árvore AVL são logarítmicos!

Altura de árvores AVL Por outro lado, é fácil verificar que n(h) = F(h+3)-1, onde F(h) é o h-ésimo número de Fibonacci. Mais precisamente, sabe-se que h < 1,44.lg (n+2), onde h é a altura e n é o número de nós de uma árvore AVL, ou seja, o pior caso tem um fator multiplicativo pequeno. Em 1998, Knuth mostrou que, para n grande, a altura média de uma árvore AVL é lg n + 0,25.

Implementação Vimos que, nas árvores AVL, inserções e eliminações gastam, no pior caso, tempo proporcional à altura da árvore, que por sua vez é limitada pelo logaritmo do número de nós. Na sua implementação, o que seria preciso acrescentar à estrutura de dados? Em cada nó, basta acrescentar uma flag de três valores (-1 1, 0 ou 1) que indica a diferença entre as alturas das suas sub-árvores.

Árvores rubro-negras As árvores rubro-negras (Guibas e Sedgewick, 1978) são árvores binárias de busca balanceadas segundo um critério diferente do usado em árvores AVL. Todos os nós (inclusive os nulos!) têm cor vermelha ou preta: 1) A raiz e os nós nulos são pretos. 2) Se um nó é vermelho, então seus filhos são pretos. 3) Todos os caminhos de um nó até qualquer nó nulo percorrem um número idêntico de nós pretos (é a altura negra desse nó). Em cada sub-árvore rubro-negra, considere que a folha mais próxima e a folha mais distante de sua raiz tenham distâncias p e d, respectivamente, onde p d. As condições acima asseguram que d 2p.

Árvores rubro-negras Definição: a altura negra de um nó x, designada por an(x), é o número de nós pretos abaixo dele em qualquer caminho até um nó nulo. Exemplo: 18 3 10 22 3 2 3 13 2 2 20 27 2 1 1 1 5 12 2 16 1 19 1 21 1 24 1 40 1 1 14 1 1 17

AVL x rubro-negras Ambas estruturas toleram um certo desbalanceamento em cada nó da árvore: AVL Rubro-negras h-1 h h 2h Em ambos os casos, essa tolerância é de simples manutenção, e garante relação logarítmica entre altura e número total de nós.

Árvores rubro-negras Lema 1: Numa árvore rubro-negra, a sub-árvore enraizada em um nó x tem no mínimo 2 an(x) 1 nós não nulos. Prova por indução: Para a árvore com apenas uma folha (por ser a raiz, será preta): 2 1 1 = 1 nó não nulo. Caso genérico: nó x não-terminal Um filho de x, se for vermelho, terá altura negra an(x); se for preto, terá altura negra an(x) 1. Portanto, t pela hipótese de indução, cada sub-árvore de x terá, no pior caso (isto é, quando os dois filhos de x forem pretos), 2 an(x) 1 1 nós não nulos. Logo, a sub-árvore enraizada em x terá no mínimo 2(2 an(x) 1 1) + 1 = 2 an(x) 1 nós não nulos.

Árvores rubro-negras Lema 2: Uma árvore rubro-negra com n nós não nulos tem no máximo altura 2.lg (n + 1). Prova: Se uma árvore rubro-negra tem altura h, a altura negra da raiz será no mínimo h/2 (pois todo nó vermelho tem filho preto). Portanto, pelo lema anterior, a árvore terá n 2 h/2 1 nós não nulos, de onde segue o Lema 2. Isso permite a realização das operações de busca, inserção e eliminação numa árvore rubro-negra em tempo O(log n), desde que suas propriedades sejam mantidas.

Inserção em árvores rubro-negras Ao contrário das árvores AVL, agora é preciso ajustar outro critério: iéi as cores dos nós. Se um nó x for inserido numa árvore vazia, ele será a raiz. Portanto, deverá ser preto. Caso contrário, ao inserir um nó x numa posição vazia da árvore (isto é, no lugar de um nó nulo), ele será pintado de vermelho para tentar não alterar a altura negra dos seus antecessores. p 1 p 1 x 1 Mas é preciso verificar o que acontecerá com p, pai de x...

Inserção em árvores rubro-negras [Caso 1] Se o nó p for preto, nada mais precisa ser feito. [Caso 2] Por outro lado, se p for vermelho (logo, não será a raiz), o nó a, pai de p e avô de x, será preto. Se houver um nó t vermelho, irmão de p e tio de x, então serão modificadas as cores de a, t e p. t a 1 a 2 a 1 p 1 t a 2 p 1 Se o pai do nó a for vermelho, o rebalanceamento continuará, seguindo o mesmo algoritmo. x 1 x 1 Se esse processo chegar até a raiz, basta trocar sua cor (de vermelho para preto).

Inserção em árvores rubro-negras [Caso 3] Finalmente, se não houver um nó t vermelho, será preciso fazer rotações envolvendo a, t, p e x. Há 4 subcasos (que são simétricos, 2 a 2). [Caso 3a] Rotações simples: a a p p t t p x a x t x t a p x

Inserção em árvores rubro-negras [Caso 3b] Rotações duplas: t a x p t a x p p a x t p x a t Não é preciso considerar o caso de t como folha preta. Por quê?

Exercício Pesquisar os algoritmos de eliminação i em árvores rubro-negras e comprovar que também gastam tempo O(log n). Importante: repare que, na implementação de uma árvore rubro- negra, é suficiente que cada nó armazene a sua cor (ou seja, basta uma simples flag booleana).

Quando convém utilizar essa estrutura? As árvores binárias de busca balanceadas são muito adequadas para pesquisa em memória primária, pois satisfazem simultaneamente alguns requisitos conflitantes: Acesso direto eficiente (tempo logarítmico) Acesso sequencial eficiente (tempo linear) Inserção e eliminação eficientes (tempo logarítmico) Boa taxa de utilização da memória Para pesquisa em memória secundária, também há uma boa diversidade de modelos. O mais conhecido é a árvore B (Bayer e McCreight, 1972) com suas variantes.

Árvores B (Bayer e McCreight, 1972) São árvores de pesquisa balanceadas projetadas para dispositivos de armazenamento secundário (discos, fitas magnéticas, etc.). O fator de ramificação (número máximo de filhos) é escolhido em função do tamanho do bloco de leitura/escrita dessa memória, que costuma ser chamado de página. Geralmente, os nós contêm informações armazenadas numa mesma página. Por isso, os conceitos de nó e página acabam se identificando. A B T ã i d l As B-Trees são apropriadas, por exemplo, para sistemas de bancos de dados.

Árvores B* Veremos apenas um caso particular: a árvore B* Em uma árvore B* de ordem M: Todas as folhas estão no mesmo nível A raiz, se não for folha, tem de 2 a M filhos Exceto a raiz, todos os nós internos têm de M/2 am filhos Os nós internos guardam de M/2-1 a M-1 chaves (para identificar os valores armazenados nos filhos) Os dados associados às chaves estão guardados nas folhas (é o que a diferencia das demais árvores B) Cada folha tem de M/2 a M dados armazenados Ela também é chamada de árvore B* M/2 -MM

Exemplo: árvore B* de ordem 4 (ou 2-4) 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 M = 4 Nós internos: 2 a 4 filhos (1 a 3 chaves) Folhas: 2 a 4 dados

Inserções em árvore B* 2-3 22 : - 22 : - 18 16 : - 41 : 58 16 : - 41 : 58 1 8,11,12 16, 17 22,23,31 41, 52 58,59,61 8,11,12 16,17,18 22,23,31 41, 52 58,59,61 22 : - 11 : 16 41 : 58 19 1, 8 11, 12 16, 17,18 22,23,31 41, 52 58,59,61

Inserções em árvore B* 2-3 22 : - Ultrapassaria o número 11 : 16 41 : 58 máximo de filhos... 1, 8 11, 12 16, 17 18, 19 22,23,31 41, 52 58,59,61 16 : 22 11 : - 18 : - 41 : 58 28 1, 8 11, 12 16, 17 18, 19 22,23,31 41, 52 58,59,61

Inserções em árvore B* 2-3 16 : 22 11 : - 18 : 41 : 58 18 : - Idem... 1, 8 11, 12 16, 17 18, 19 22, 23 28, 31 41, 52 58,59,61, 16 : 22 Idem... 11 : - 18 : - 28 : - 58 : - Idem 1, 8 11, 12 16, 17 18, 19 22, 23 28, 31 41, 52 58,59,61

Inserções em árvore B* 2-3 22 : - 16 : - 41 : - 11 : - 18 : - 28 : - 58 : - 1, 8 11, 12 16, 17 18, 19 22, 23 28, 31 41, 52 58,59,61 No pior caso, as inserções se propagam até a raiz, e a altura da árvore cresce 1 unidade

Eliminações em árvores B* Busca da folha com o dado a ser eliminado: Se a folha ficar com um suficiente número de dados: fim. Se a folha ficar com um número de dados abaixo do mínimo: Se a folha irmã tiver um número de dados acima do mínimo: pegar um dado dessa folha. Se a folha irmã não tiver um número de dados acima do mínimo: fundir ambas as folhas. Quando ocorre fusão de nós, a eliminação prossegue nos níveis superiores da árvore. Se a fusão de nós deixar a raiz com apenas um filho, então ela se juntará ao filho e a altura da árvore diminuirá um nível.

Eliminações em árvore B* 2-4 Obs.: não estão representadas as folhas 13 40 Eliminação de 7 7 23 31 43 2 3 5 13 17 19 31 37 43 47 7 11 23 29 40 41

Eliminações em árvore B* 2-4 13 40 Eliminação de 11 5 23 31 43 2 3 13 17 19 31 37 43 47 5 11 23 29 40 41

Eliminações em árvore B* 2-4 13 40 23 31 43 2 3 5 13 17 19 31 37 43 47 23 29 40 41

Eliminações em árvore B* 2-4 23 40 13 31 43 2 3 5 13 17 19 31 37 43 47 23 29 40 41

Características de uma árvore B* Considere uma árvore B* de ordem M. Sendo h a altura dessa árvore, o número n de folhas será: M/2 h n M h Ideia da demonstração: as árvores B* mínima e máxima corresponderão, respectivamente, a árvores completas com M/2 e M filhos por nó. Portanto, as operações de inserção, eliminação, busca e extração de mínimo podem ser realizadas com O(log n) acessos a páginas da memória secundária.