Isto é o que você mais precisa entender a tecnologia! Examinador pediu-lhe uma árvore-B e B + árvore, atirou-o para colocar este artigo

página blog pessoal de navegação (clique à direita ligação para abrir um blog pessoal): Daniel levá-lo em tecnologia de pilha 

árvore 1 B

Antes de apresentar a árvore B +, brevemente diga-nos sobre a árvore-B, as duas estruturas de dados semelhanças e suas diferenças e, finalmente, vamos comparar a diferença entre estas duas estruturas de dados.

Conceito da árvore 1,1 B

B-tree, também conhecido como B- árvore, que é mais de uma árvores de busca equilibradas. Binary Eu acho que todos estão familiarizados com, na verdade, falamos sobre atrás da árvore-B e B + árvores são de vem a conversão binário mais simples, não há nada misterioso lugar, vamos olhar para a definição de árvores-B.

  • Cada nó tem no máximo m-1 th palavra-chave (pode haver pares de valores chave).

  • Apenas uma lata na raiz menos palavras-chave .

  • gânglios de raiz não têm, pelo menos, m / 2 th palavra-chave .

  • Cada nó na ordem das palavras-chave são organizadas a partir de pequenas a grandes, cada um dos sub-árvore esquerda todas as palavras-chave na chave é menor do que isso, e todas as palavras-chave na subárvore direita são maiores do que ele.

  • Todos os nós de folha se encontram na mesma camada, ou o comprimento de cada nó de folha para o nó da raiz são as mesmas.

  • Cada nó existe índice e os dados, isto é, a chave e o valor correspondente.

Portanto, a raiz chave intervalo de números: 1 <= k <= m-1non-root key número m/2 <= k <= m-1intervalo: .

Além disso, é preciso prestar atenção a um conceito, você precisa especificar a sua ordem para descrever uma árvore-B, a ordem representa um nó tem o número máximo de nós filhos, geralmente representa o fim da carta m.

Levar-nos um exemplo para ilustrar os conceitos acima, tal como existe um B-árvore de quinta ordem, a raiz gama número de nó: 1 <= k <= 4, o número de nós não raiz variar: 2 <= k <= 4.

Em seguida, nós inserido através de um exemplo, explicar a B-tree processo de inserção, em seguida, em seguida, explicar o processo de exclusão de palavras-chave.

inserção árvore 1,2 B

Inserido, precisamos lembrar uma regra: determinar se o nó atual é o número de chave ou menos m-1, se assim for, pode ser diretamente inserido, e se não, os nós intermediários chave deste nó para esquerda e direita duas partes, para o nó intermédio para o nó pai.

Exemplos: No passo 5 a B-árvore, o nó tem quatro teclas para cima, um mínimo de dois chave (Nota: Os seguintes nós com um nó representa uma chave unificada e valor).

  • Inserir 18,70,50,40

  • Insira 22

Quando você inserir 22, encontrou o nó chave tem mais de 4, de modo que precisam ser divididas pelas regras acima já disse, depois da separação, como segue.

  • Em seguida, inserir 23,25,39

Split, ficar abaixo.

Mais sobre o processo de inserção não irá introduzir mais, acredito que esse exemplo, você já sabe como inserir a operação.

Árvore operações de exclusão 1,3 B

eliminação B-árvore da operação de inserção é relativamente complexa, mas, você sabe lembrar vários casos, o mesmo pode facilmente compreender.

  • Agora há um estado inicial é uma B-árvore abaixo e operação, em seguida, delete.

  • 15 Excluir, esta situação é excluir os elementos nó folha, se posteriormente excluído, ou maior do que o número de nós m/2, contanto que esta situação pode ser eliminado diretamente.

  • Então, colocamos 22 excluir a regra para isso: 22 nós não-folha, eliminar os nós de não-folha, é necessário substituir a chave para ser removido por tecla seguinte (elemento), em seguida, excluir o sub-ramo onde a chave sucessor siga-Key . Para eliminar 22, 24 necessidade de ser transferida para o elemento subsequente a ser eliminado do nó 22 está localizado.

Neste momento em que o nó descoberta 26 é apenas um elemento, a menos de dois (m / 2), este nó não cumprir os requisitos, as regras desta vez (elementos emprestados para irmãos): Se você remover o nó folha, se o número de elementos para remover elementos menos do que (m / 2), e os seus elementos irmãos é maior do que a (m / 2), isto é, os nós elemento irmão mais do que o valor mínimo de m / 2, o primeiro elemento do nó pai através deste nó, o elemento é então transferida de novo para o nó pai irmão nodos . Isto irá cumprir os requisitos.

Vamos dar uma olhada a operação ainda mais entender.

  • Em seguida, retire a 28, exclua o nó folha , delete não cumprir os requisitos, por isso precisamos de elementos de empréstimo a considerar irmão, no entanto, nada mais do que nós irmãos (2), não pode emprestar, como fazê-lo? Se isso acontecer, antes de tudo, é o primeiro elemento do nó pai se move para o nó e o nó atual e seus irmãos na chave fundiram para formar um novo nó .

Após a mudança, fundir-se com os irmãos.

Excluir apenas as situações acima, você pode excluir dependendo das circunstâncias.

Acima destes relatórios, acredito árvores B têm uma certa compreensão, a próxima parte, em seguida, explicar a árvore B +, acredito que em conjunto com a comparação árvore B +, a mais clara a.

2 B + árvore

2.1 B + Tree Overview

Árvore B + e B-tree é de fato muito semelhante, nós primeiro olhar para o mesmo ponto .

  • Pelo menos um elemento de raiz
  • gânglios de raiz não variam de elementos: m / 2 <= k <= m-1

pontos diferentes .

  • B + árvore tem dois tipos de nós: nó interno (também chamado de inode) e um nó folha. nó interno é os nós não-folha, nós internos não armazenam dados, lojas só índice, os dados são armazenados nos nós folha.
  • chave nó interno estão na ordem crescente, por uma chave no nó interno, todos da chave esquerda na árvore é menor do que sua subárvore direita são maior ou igual chave dele. nó folha registro também é organizado de acordo com o tamanho da chave.
  • Cada nó ponteiro folha existem nós de folhas adjacentes, ligações e um grande ordem de nó de folha em si interposto-se dependendo do tamanho das palavras-chave.
  • Há índice pai do primeiro elemento da criança direita.

Vamos olhar um exemplo de uma árvore + B, sentir os sentimentos it Now!

2.2 insert

Para a inserção de funcionamento é muito simples, requer apenas uma habilidade para lembrar: Quando o número de nós do elemento é maior do que o m-1, pelo elemento intermédio é dividida em partes direita e esquerda, o elemento intermédio para o nó pai como a loja de índice de desdobramento, no entanto, o próprio elemento intermédio ou dividir o lado direito desta secção .

O procedimento que se segue para inserir uma quinta ordem árvore B + como um exemplo, os nós da árvore B + quinta ordem pelo menos dois elementos, um máximo de quatro elementos.

  • Inserir 5,10,15,20

  • 25 é inserido, em seguida, o número de elementos é maior do que quatro, de divisão

  • Em seguida, inserir 26, 30, continuam a dividir

Com esses poucos exemplos, acredito que nenhuma inserção problema, exclua e depois olhar abaixo.

2,3 eliminação

Para a operação de exclusão é mais simples do que alguns dos B-tree, porque nós folha existem ponteiro, quando tomar emprestado elementos irmão, um pai não é exigido por, mas diretamente pelos irmãos se mudaram para a seção (desde que o elemento do irmão maior do que o m / 2), e em seguida, actualiza o índice do nó pai, se o elemento não é mais do que irmão m / 2 (sem irmão nodos elementos extra), então o nó actual e o irmão nodos são combinados e nó pai exclusão chave , aqui olhamos para exemplos específicos.

  • O estado inicial

  • 10 apagar, apagar, não cumprir a exigência, encontrado na irmão esquerda tem elementos extra, então elementos de empréstimo e, finalmente, para modificar o índice nó pai

  • Remover os elementos 5, descobriu que não atender aos requisitos, e descobriu que cerca de irmãos há elementos extras, de modo que você pode selecionar e irmãos fusão, último índice pai modificado

  • Constatou-se que o índice de pai não satisfaz a condição de, por conseguinte, precisa de fazer a mesma operação com o passo supra

Desta forma, a exclusão da árvore B + está acabado, não é depois de ler isso, eu me sinto muito simples!

3 B e B + resumo de árvore

Árvore B + em relação ao B-árvore tem algumas de suas próprias vantagens, pode ser atribuído aos seguintes pontos.

  • elementos de armazenamento de nó mais simples, de modo que o número de IO consulta menos, por isso, faz com que seja mais adequada, como a estrutura de dados subjacente, da base de dados MySQL.
  • Todas as perguntas devem olhar para o nó folha, consulta desempenho é estável, enquanto o B-tree, cada nó pode encontrar os dados, de modo instáveis.
  • Todos nós folha formar uma lista ordenada, mais fácil de encontrar.

aprendizagem anexado Java / C / C ++ / máquina / Algoritmos e Estruturas de Dados / front-end / Android / Python / programador de leitura / únicos livros livros Daquan:

(Clique no direito de abrir lá no blog pessoal seco): seca Técnico Floração
===== >> ① [Java Daniel levá-lo no caminho para a avançada] << ====
===== >> ② [+ acm algoritmo de estrutura de dados Daniel levá-lo no caminho para a avançada] << ===
===== >> ③ [banco de dados Daniel levá-lo no caminho para a avançada] << == ===
===== >> ④ [front-end Daniel web para levá-lo no caminho para a avançada] << ====
===== >> ⑤ [machine python aprendizagem e Daniel levá-lo entrada para o estrada avançada] << ====
===== >> ⑥ [arquiteto Daniel levá-lo no caminho para a avançada] << =====
===== >> ⑦ [C ++ Daniel avançou para levá-lo na estrada] << ====
===== >> ⑧ [ios Daniel levá-lo no caminho para a avançada] << ====
=====> > ⑨ [segurança web Daniel levá-lo no caminho para a avançada] << =====
===== >> ⑩ [sistema operacional Linux e Daniel levá-lo no caminho para a avançada] << = ====

Não há frutas não ganhos, espero que você jovens amigos, amigos querem aprender técnicas, superando todos os obstáculos no caminho da estrada determinado a amarrar em tecnologia, entender o livro, e em seguida, bater no código, entender o princípio, e ir prática, vai ele vai lhe trazer a vida, seu trabalho, seu futuro um sonho.

Publicado 47 artigos originais · ganhou elogios 0 · Visualizações 263

Acho que você gosta

Origin blog.csdn.net/weixin_41663412/article/details/104898923
Recomendado
Clasificación