A árvore 2-3-4 é uma árvore binária balanceada onde cada nó pode ter de 1 a 3 chaves e de 2 a 4 filhos. As operações de pesquisa, inserção e remoção nesse tipo de árvore envolvem dividir nós cheios e reconfigurar a árvore para manter o balanceamento. A árvore 2-3-4 pode ser usada em aplicações como dicionários e auto completar códigos.
4. Características
A generalização de um nó permite múltiplas chaves e filhos.
A árvore 2-3-4 ou 2-4 é uma árvore ordenada balanceada.
Cada nó pode ter no máximo quatro nós filhos.
Assim como a árvore 2-3, ela mantém o balanço perfeito, ou seja, todos os nós
externos têm a mesma profundidade.
5. Características
Este tipo de árvore permite 1, 2 ou 3 chaves por nó
2-nós: uma chave e dois filhos
3-nós: duas chaves e três filhos
4-nós: três chaves e quarto filhos
Os 2, 3 e 4, no nome árvore 2-3-4, referem-se a quantos links para filhos
podem estar contidos em cada nó.
Um nó com um item de dado precisa ter sempre dois filhos, a menos que seja
um nó folha, e neste caso, ele não possui filhos.
6. Características
F G J
A B C D
Os 4-nós tem as seguintes propriedades:
● Cada valor v inserido na subárvore A deve ser <= F
● Cada valor v inserido na subárvore B deve ser > F e <= G
● Cada valor v inserido na subárvore C deve ser > G e <= J
● Cada valor v inserido na subárvore D deve ser > J
● O tamanho do caminho a partir da raiz do 4-nós até a qualquer folha
deve ser o mesmo.
8. Pesquisa
A busca de um item de dados se inicia na raiz . Se a chave de procura não for
encontrada lá, seleciona-se um link para a subárvore com a seqüência apropriada
de valores.
Para tornar a operação de busca mais clara vamos efetuá-la buscando o valor-
chave 84 na árvore abaixo. Para isso seguiremos os seguintes passos:
1) Iniciamos a busca na raiz;
2) Comparamos o valor-chave com a raiz;
3) Como 84 é maior que 60, continuamos a busca no filho da direita;
4) No nó 70/86 podemos perceber que 84 está entre 70 e 86, então passamos
para o nó compreendido entre tais valores;
5) Desta vez encontramos o valor-chave no terceiro campo de dados;
11. Inserção
Quando ocorre a tentativa de inserção de um item em uma página folha cheia,
a página folha é então dividida em duas páginas folha, o item do meio sobe
para a página pai, e os elementos com chave menores ficam na página folha
da esquerda e os itens com chaves maiores na página folha da direita.
12. Inserção
Exemplo 1: Insira o elemento 70 na
árvore 2-3-4
Nó cheio.
Solução: dividir o nó em dois
e subir o elemento do meio
para o nó pai, que nesse
caso vai ser acabar criando
um novo nó raiz.
13. Inserção
Exemplo 2: Insira os elementos 20,
40 e 10 na árvore 2-3-4.
Nó cheio.
Solução: dividir o nó em dois
e subir o elemento do meio
para o nó pai.