• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Albero - Struttura di Dati

Mi.ke

Utente Master
Autore del topic
16 Giugno 2011
2.857
60
Miglior risposta
0

Albero - Struttura di dati




L'Albero è una struttura di dati dinamica definita come un insieme di nodi conessi tra loro in modo che non esistano cicli. Questo significa che non ci sono percorsi chiusi che permettono, partendo di un nodo, di tornare allo stesso, senza ripercorrere lo stesso tratto due volte.

L'albero è composto da:


  • La radice: è il nodo da cui partono le connessioni che generano l'albero
  • Le foglie: sono i nodi esterni che non hanno nodi figli;
  • I nodi interni: sono i nodi che non sono nè radice nè foglie.

Un esempio di albero è l'organizzazione dei file su disco gestita dal file system del sistema operativo. La radice è la directory principale, i nodi interni sono le altre directory, le foglie sono i file.

Un caso particolare di albero è costituito dall'albero binario, nel quale ogni nodo ha al massimo due nodi figli chiamati sottoalbero di sinistra e sottoalbero di destra. I due sottoalberi sono ancora alberi binari e quindi potranno essere vuoti o costituiti da nodi con due sottoalberi.

Un albero binario è un insieme, vuoto, oppure è costituito da un nodo a cui sono collegati massimo due alberi binari.

Esempio grafico:



33m30aa.png
Come possiamo schematizzare l'albero binario:

Albero
radice
inserisci() // Inserisce un elemento nell'albero
elimina() // Rimuove un elemento specifico dall'albero.
contiene() // Controlla se nell'albero è presente un particolare elemento.

I dati vengono immessi nell'albero seguendo questo criterio: i dati che precedono il dato nel nodo o nel suo sottoalbero di sinistra, quelli che seguono il dato nel nodo, nel suo sottoalbero di destra.

Vi lascio un ulteriore link:
Perfavore, Entra oppure Registrati per vedere i Link!


Esiste come per le altre strutture dinamiche, una classe (TreeMap) creata dalla Oracle già implementata, vi lascio un link della documentazione.
Perfavore, Entra oppure Registrati per vedere i Link!


Spero di esservi stato utile. Un saluto :bye:
 
Ultima modifica: