
Un albero 2-3 è un tipo di struttura dati ad albero di ricerca bilanciato che mantiene i dati ordinati e garantisce prestazioni logaritmiche per le operazioni fondamentali. Deve il suo nome al fatto che ogni nodo interno può avere esattamente 2 o 3 figli.
Un albero 2-3 è un albero tale che:
Per un 2-3 albero valgono le seguenti proprietà:
Se indica il numero di foglie, l'altezza dell'albero ed il numero di nodi, valgono le seguenti disuguaglianze:
Se indica il numero di foglie ed l'altezza dell'albero, vale la seguente disuguaglianza:
Siano ed come sopra ed il numero di nodi dell'albero, vale la seguente disuguaglianza:
Le due proprietà possono essere dimostrate per induzione sull'altezza dell'albero.
Caso base (): per si ha e in effetti l'albero ha solo una foglia, cioè la radice. Allo stesso modo verifichiamo che , infatti si ha un solo nodo.
Passo induttivo: Supponiamo che le due disuguaglianze valgano per un albero 2-3 di altezza . Consideriamo un albero 2-3 con altezza e di altezza , ottenuto a partire da eliminandone l'ultimo livello. Siano il numero di nodi e il numero di foglie dell'albero . Per ipotesi induttiva si ha:
e
Poiché ogni foglia di ha almeno 2 o al più 3 figli in si avrà:
Per il numero totale di nodi, osserviamo che . Utilizzando le disuguaglianze ottenute:
Limite inferiore per n:
Limite superiore per n:
Quindi si ottiene , che è esattamente ciò che volevamo dimostrare per l'altezza .
Usando la limitazione sul numero totale di nodi si ha , quindi l'altezza di un albero 2-3 è .
Gli alberi 2-3 sono strettamente correlati ai B-alberi (di cui sono un caso speciale con ordine minimo 2) e agli alberi rosso-nero (con cui esiste una corrispondenza biunivoca). Condividono con gli alberi AVL la proprietà di essere alberi di ricerca bilanciati, ma utilizzano strategie di bilanciamento diverse.
Gli alberi 2-3 trovano applicazione nei sistemi di gestione database per l'indicizzazione efficiente, negli algoritmi di ordinamento come base per algoritmi esterni, e come modello teorico per lo studio del bilanciamento degli alberi.
Tra le principali varianti si annoverano gli alberi 2-3-4 (che permettono nodi con 4 figli), i B+ alberi (generalizzazione utilizzata nei database) e gli alberi (a,b) (generalizzazione parametrica).