B TREE: esempio di operazione di ricerca, inserimento, eliminazione

Cos’è un albero B?

B Tree è una struttura di dati autobilanciata basata su un insieme specifico di regole per la ricerca, l’inserimento e l’eliminazione dei dati in modo più rapido ed efficiente in termini di memoria. Per raggiungere questo obiettivo, vengono seguite le seguenti regole per creare un albero B.

Un B-Tree è un tipo speciale di albero in una struttura di dati. Nel 1972, questo metodo fu introdotto per la prima volta da McCreight e Bayer lo chiamò Height Balanced m-way Search Tree. Ti aiuta a preservare i dati ordinati e ha consentito varie operazioni come l’inserimento, la ricerca e l’eliminazione in meno tempo,

Regole per B-Tree

Qui, ci sono regole importanti per la creazione di B_Tree

Perché usare B-Tree

Ecco, ci sono i motivi per usare B-Tree

Storia di B Tree

Operazione di ricerca

L’operazione di ricerca è l’operazione più semplice su B Tree.

Viene applicato il seguente algoritmo:

Operazione di inserimento

Poiché B Tree è un albero autobilanciato, non è possibile forzare l’inserimento di una chiave in un nodo qualsiasi.

Si applica il seguente algoritmo:

ManciaQuanto segue non è vero per l’algoritmo di inserimento:Poiché il nodo è pieno, quindi si dividerà e quindi verrà inserito un nuovo valore

Nell’esempio precedente:

Nell’esempio precedente:

Nell’esempio precedente:

Allo stesso modo, 13 e 2 possono essere inseriti facilmente nel nodo in quanto soddisfano la regola delle chiavi meno di max per i nodi.

Nell’esempio precedente:

Allo stesso modo, in base alle regole e ai casi di cui sopra, il resto dei valori può essere inserito facilmente nell’albero B.

Operazione Elimina

L’operazione di eliminazione ha più regole rispetto alle operazioni di inserimento e ricerca.

Si applica il seguente algoritmo:

Se la chiave di destinazione si trova nel nodo foglia

Se la chiave di destinazione si trova in un nodo interno

Se la chiave di destinazione si trova in un nodo radice

Ora, comprendiamo l’operazione di eliminazione con un esempio.

Il diagramma precedente mostra diversi casi di operazione di eliminazione in un B-Tree. Questo B-Tree è di ordine 5, il che significa che il numero minimo di nodi figlio che ogni nodo può avere è 3 e il numero massimo di nodi figlio che ogni nodo può avere è 5. Mentre il numero minimo e massimo di chiavi che ogni nodo può avere sono rispettivamente 2 e 4.

Nell’esempio precedente:

Nell’esempio precedente:

Ora, il diagramma seguente spiega come eliminare questa chiave:

Nell’esempio seguente viene illustrato come eliminare una chiave che richiede un valore dal suo successore in ordine.

Nell’esempio seguente, il nodo di destinazione non dispone di alcun elemento di pari livello in grado di fornire la chiave al nodo di destinazione. Pertanto, è necessaria la fusione.

Vedere la procedura di eliminazione di tale chiave:

Elimina operazione pseudo codice

private int removeBiggestElement()
{
    if (root has no child)
        remove and return the last element
    else {
        answer = subset[childCount-1].removeBiggestElement()
        if (subset[childCount-1].dataCount < MINIMUM)
            fixShort (childCount-1)
        return answer
    }
}

Uscita:

L’elemento più grande viene eliminato dal B-Tree.

Sommario:


fonte: https://www.guru99.com/