A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Algoritmos BUSCA E INSERÇÃO

Apresentações semelhantes


Apresentação em tema: "Algoritmos BUSCA E INSERÇÃO"— Transcrição da apresentação:

1 Algoritmos BUSCA E INSERÇÃO
ORI – Árvore B Algoritmos BUSCA E INSERÇÃO

2 Algoritmo BuscaB (x) Parâmetros: x: chave procurada p_chave: aponta para a página onde a chave foi encontrada, ou deve ser inserida achou: indica se a chave foi encontrada ou não g: g-ésima posição da página apontada por p_chave, onde a chave foi encontrada; se a chave não foi encontrada, p_chave aponta p/ a última página examinada (uma folha) e g informa a posição, nesta página, onde a chave x poderia ser incluída. pilha: armazena o caminho percorrido até chegar ao nó folha filho[ ] : vetor de ponteiros para os filhos de um nó m : número de filhos de um nó

3 p: ponteiro local p = ptraiz p_chave = NULL achou = falso enquanto p  NULL faça i = g = 1 pilha.insere(p) p_chave = p enquanto i  m faça se x > p chave[i] então i = g = i {vai para o próximo elemento} senão se x = pchave[i] então p = NULL {chave encontrada} achou = verdadeiro senão p = pfilho[i] {desce um nível } fim_se i = m + 2 fim enquanto se i = m + 1 então p = p→filho[m] fim se

4 InsereB (x) se raiz  NULL então Busca_B(x) se achou então //chave existe retorna falso senão //deve-se inserir a chave p = pilha.retira_no( ) esq = dir = NULL inseriu = falso enquanto p  NULL E não inseriu faça se pm = max_elementos então // nó está cheio // fazer o split senão // inserir no nó inseriu = verdadeiro fim_se fim_enquanto // o que fazer aqui ? raiz = cria_raiz(esq,dir) // cria raiz raiz.chave[0] = x // insere elemento x na raiz retorna verdadeiro


Carregar ppt "Algoritmos BUSCA E INSERÇÃO"

Apresentações semelhantes


Anúncios Google