Qual è la differenza tra un albero binario completo e uno completo

Mar 12 2023
In informatica, un albero è una struttura dati costituita da nodi collegati da bordi. Un albero può avere molte forme e dimensioni diverse, ma due tipi comuni di alberi sono alberi completi e alberi completi.
Foto di Kaleidico su Unsplash

In informatica, un albero è una struttura dati costituita da nodi collegati da bordi. Un albero può avere molte forme e dimensioni diverse, ma due tipi comuni di alberi sono alberi completi e alberi completi. Comprendere la differenza tra questi due tipi di alberi può essere utile in una varietà di contesti, inclusi gli algoritmi e l'archiviazione dei dati.

Cos'è un albero completo?

Un albero completo è un albero in cui ogni nodo ha zero o due figli. Ciò significa che tutti i nodi nell'albero sono nodi foglia (nodi senza figli) o nodi interni (nodi con figli).

Ecco un esempio di albero completo:

1
       / \
      2   3
     / \ 
    4   5 
       / \
      6   7

Cos'è un albero completo?

Un albero completo è un albero in cui tutti i livelli sono completamente riempiti, tranne forse l'ultimo livello. L'ultimo livello di un albero completo dovrebbe essere riempito da sinistra a destra.

Ecco un esempio di albero completo:

1
       / \
      2   3
     / \ / \
    4   56  7
   /
  8

Una differenza fondamentale tra alberi completi e alberi completi è il numero di figli che ogni nodo può avere. In un albero completo ogni nodo deve avere 0 o 2 figli, mentre in un albero completo ogni nodo non foglia deve avere esattamente due figli e i nodi nell'ultimo livello devono essere riempiti a sinistra e possono avere da 0 a 2 bambini.

Un'altra importante differenza tra alberi completi e alberi completi è il modo in cui sono organizzati i nodi. In un albero completo, i nodi possono essere organizzati in qualsiasi modo, purché ogni nodo abbia 0 o 2 figli. In un albero completo, i nodi devono essere organizzati in un modo specifico, con tutti i livelli completamente riempiti tranne forse l'ultimo livello.

Conclusione

Alberi completi e alberi completi sono entrambi tipi comuni di alberi nell'informatica. Le principali differenze tra questi due tipi di alberi sono il numero di figli che ogni nodo può avere e il modo in cui i nodi sono organizzati. Spero che questo articolo ti abbia insegnato qualcosa!