Definizione
Un albero consiste di un insieme di nodi e un insieme di archi orientati che connettono coppie di nodi, con le seguenti proprietà:
- Un nodo dell’albero è designato come nodo radice;
 - Ogni nodo 
, a parte la radice, ha esattamente un arco entrante;  - Esiste un cammino unico dalla radice ad ogni nodo;
 - L’albero è connesso.
 
Un albero è dato da un insieme vuoto oppure un nodo radice e zero o più sottoalberi, ognuno dei quali è un albero; la radice è connessa alla radice di ogni sottoalbero con un arco orientato.

Terminologia

| Elemento | Definizione | 
|---|---|
| Radice | |
| Padre di  | |
| Radici dei sottoalberi | |
| Fratelli, figli di  | |
| Nodi viola | Foglie | 
| Altri nodi | Nodi interni | 

| Elemento | Definizione | 
|---|---|
| Profondità dei nodi (depth) | Lunghezza del cammino semplice dalla radice al nodo, misurato in numero di archi. | 
| Livello (level) | Insieme di nodi alla stessa profondità. | 
| Altezza dell’albero (height) | Profondità massima delle foglie. | 
Memorizzazione
Esistono diversi modi per memorizzare un albero a seconda del numero massimo e medio di figli presenti:
- Realizzazione primo figlio, prossimo fratello se ogni nodo può avere un numero arbitrario di figli;
 - Realizzazione con vettore dei figli se si sa mediamente quanti figli ci sono per ogni nodo, che avrà un riferimento al nodo padre;
 - Realizzazione con vettore dei padri se interessa mantenere solo la relazione figlio → padre.
 
Tipi di alberi
Albero binario
Un albero binario è un albero radicato in cui ogni nodo ha al massimo due figli, identificati come figlio sinistro e figlio destro. Ogni nodo ha un riferimento al nodo padre e ai due figli.
Albero generico
Un albero generico è un albero radicato in cui ogni nodo ha un numero arbitrario di figli, o nessuno.
Visita di un albero
Una visita è una strategia per analizzare (visitare) tutti i nodi di un albero, ossia scansionarne tutti i valori.
Visita in profondità (DFS - Depth First Search)
Per visitare un albero, si visita ricorsivamente ognuno dei suoi sottoalberi; richiede uno stack di appoggio ed ha tre varianti: pre/in/post visita (pre/in/post order).



Visita in ampiezza (BFS - Breadth-First Search)
Ogni livello dell’albero viene visitato uno dopo l’altro; richiede una coda.

Costo computazionale delle visite
Dato che ogni nodo viene visitato al massimo una volta (se l’algoritmo è implementato correttamente), il costo di una visita di un albero contenente