logo

Albero binario bilanciato

Un albero binario è bilanciato se l'altezza dell'albero è O(Log n) dove n è il numero di nodi. Ad esempio, l'albero AVL mantiene l'altezza O(Log n) assicurandosi che la differenza tra le altezze dei sottoalberi sinistro e destro sia al massimo 1. Gli alberi Rosso-Nero mantengono l'altezza O(Log n) assicurandosi che il numero di nodi neri su ogni percorso dalla radice alla foglia è lo stesso e che non ci sono nodi rossi adiacenti. Gli alberi di ricerca binaria bilanciata sono buoni dal punto di vista delle prestazioni poiché forniscono tempo O (log n) per la ricerca, l'inserimento e l'eliminazione.

Un albero binario bilanciato è un albero binario che segue le 3 condizioni:

  • L'altezza dell'albero sinistro e destro per qualsiasi nodo non differisce di più di 1.
  • Anche il sottoalbero sinistro di quel nodo è bilanciato.
  • Anche il sottoalbero destro di quel nodo è bilanciato.

Un singolo nodo è sempre bilanciato. Viene anche definito albero binario con altezza bilanciata.



stringa ad esso

Esempio :

allineare le immagini nei css
Albero binario bilanciato e sbilanciato

Albero binario bilanciato e sbilanciato

È un tipo di albero binario in cui la differenza tra l'altezza del sottoalbero sinistro e quello destro per ciascun nodo è 0 o 1. Nella figura sopra, il nodo radice avente valore 0 è sbilanciato con una profondità di 2 unità .



Applicazione dell'albero binario bilanciato:

Vantaggi dell'albero binario bilanciato:

  • Gli aggiornamenti non distruttivi sono supportati da un albero binario bilanciato con la stessa efficacia asintotica.
  • Le query sull'intervallo e l'iterazione nella giusta sequenza sono rese possibili dall'albero binario bilanciato.