Diferença entre árvore B e árvore binária

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 1 Poderia 2024
Anonim
Diferença entre árvore B e árvore binária - Tecnologia
Diferença entre árvore B e árvore binária - Tecnologia

Contente


Árvore B e Árvore Binária são os tipos de estrutura de dados não lineares. Embora os termos pareçam ser semelhantes, são diferentes em todos os aspectos. Uma árvore binária é usada quando os registros ou dados são armazenados na RAM em vez do disco, pois a velocidade de acesso à RAM é muito maior que o disco. Por outro lado, a árvore B é usada quando os dados são armazenados no disco e reduz o tempo de acesso, reduzindo a altura da árvore e aumentando as ramificações no nó.

Outra diferença entre a árvore B e a árvore binária é que a árvore B deve ter todos os seus nós filhos no mesmo nível, enquanto a árvore binária não possui essa restrição. Uma árvore binária pode ter no máximo 2 subárvores ou nós, enquanto na árvore B pode haver M não de subárvores ou nós onde M é a ordem da B-árvore.


  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para comparação
Árvore B
Árvore binária
Restrição essencialUm nó pode ter no máximo M número de nós filhos (onde M é a ordem da árvore).Um nó pode ter no máximo 2 números de subárvores.
Usava
É usado quando os dados são armazenados no disco.É usado quando registros e dados são armazenados na RAM.
Altura da árvoreregistroM N (onde m é a ordem da árvore M-way)registro2 N
AplicaçãoEstrutura de dados de indexação de código em muitos DBMS.Otimização de código, codificação Huffman, etc.


Definição de árvore B

Uma árvore B é a árvore M-way balanceada e também conhecida como árvore de classificação balanceada. É semelhante à árvore de pesquisa binária, na qual os nós são organizados com base no percurso da ordem. A complexidade espacial da árvore B é O (n). A complexidade do tempo de inserção e exclusão é O (log n).

Existem certas condições que devem ser verdadeiras para uma árvore B:

  • A altura da árvore deve estar no mínimo possível.
  • Acima das folhas da árvore, não deve haver subárvores vazias.
  • As folhas da árvore devem vir no mesmo nível.
  • Todos os nós devem ter menos número de filhos, exceto nós de saída.

Propriedades da árvore B da ordem M

  • Cada nó pode ter um número M máximo de filhos e um número M / 2 mínimo de filhos ou qualquer número de 2 ao máximo.
  • Cada nó possui uma chave a menos que os filhos com o máximo de chaves M-1.
  • A organização das chaves está em alguma ordem específica dentro dos nós. Todas as chaves na subárvore presente à esquerda da chave são predecessoras da chave e as presentes à direita da chave são chamadas sucessoras.
  • No momento da inserção de um nó completo, a árvore é dividida em duas partes e a chave com valor mediano é inserida no nó pai.
  • A operação de mesclagem ocorre quando os nós são excluídos.

Definição de árvore binária

Uma árvore binária é uma estrutura de árvore que pode ter no máximo dois ponteiros para seus nós filhos. Isso significa que o grau mais alto que um nó pode ter é 2 e também pode haver um nó zero ou um grau.

Existem certas variantes de uma árvore binária, como árvore estritamente binária, árvore binária completa, árvore binária estendida etc.

  • A árvore estritamente binária é uma árvore em que cada nó não terminal deve ter subárvore esquerda e subárvore direita.
  • Uma árvore é chamada de árvore binária completa quando satisfaz a condição de ter 2 Eu nós em cada nível em que i é o nível.
  • O binário encadeado é uma árvore binária que consiste em 0 não de nós ou 2 número de nós.

Técnicas transversais

A travessia de árvore é uma das operações mais frequentes executadas na estrutura de dados da árvore em que cada nó visitou exatamente uma vez de maneira sistemática.

  • Inorder- Nesta travessia em árvore, a subárvore esquerda é visitada recursivamente, em seguida, o nó raiz é visitado e na última subárvore direita é visitada.
  • Pré-ordenação - Nesta árvore, o nó raiz é visitado na primeira subárvore esquerda e, finalmente, na subárvore direita.
  • Pós-ordem - Essa técnica visita a subárvore esquerda, a direita e, finalmente, o nó raiz.
  1. Na árvore B, o número máximo de nós filhos que um nó não terminal pode ter é M, onde M é a ordem da árvore B. Por outro lado, uma árvore binária pode ter no máximo duas subárvores ou nós filhos.
  2. A árvore B é usada quando os dados são armazenados no disco, enquanto a árvore binária é usada quando os dados são armazenados na memória rápida, como a RAM.
  3. Outra área de aplicação da árvore B é a estrutura de dados de indexação de código no DBMS, ao contrário, a árvore binária é empregada na otimização de código, na codificação de huffman etc.
  4. A altura máxima de uma árvore B é logMN (M é a ordem das árvores). Em contrapartida, a altura máxima da árvore binária é log2N (N é o número de nós e a base é 2 porque é para binário).

Conclusão

A árvore B é usada na árvore de pesquisa binária e binária. A principal razão por trás disso é a hierarquia de memória na qual a CPU está conectada ao cache com os canais de alta largura de banda enquanto a CPU está conectada ao disco através do canal de baixa largura de banda. Uma árvore binária é usada quando os registros são armazenados na RAM (pequena e rápida) e a árvore B é usada quando os registros são armazenados no disco (grande e lento). Portanto, o uso da árvore B em vez da árvore binária reduz significativamente o tempo de acesso devido ao alto fator de ramificação e à altura reduzida da árvore.