L'altezza di un albero binario è la distanza dal nodo radice al figlio nodo più lontano dalla radice.
Di seguito è riportato un esempio:
2 <-- root: Height 1
/ \
7 5 <-- Height 2
/ \ \
2 6 9 <-- Height 3
/ \ /
5 11 4 <-- Height 4
Altezza dell'albero binario: 4
Definizione di un albero binario
Un albero è un oggetto che contiene un valore intero con segno e altri due alberi o puntatori ad essi.
La struttura della struttura ad albero binario è simile alla seguente:
typedef struct tree
{
struct tree * l;
struct tree * r;
int v;
} tree;
La sfida:
Ingresso
La radice di un albero binario
Produzione
Il numero che rappresenta l'altezza di un albero binario
Supponendo che ti venga data la radice di un albero binario come input, scrivi il programma più breve che calcola l'altezza di un albero binario e restituisce l'altezza. Vince il programma con il minor numero di byte (spazi bianchi contabili).
h
. Potrebbe essere meglio definire una struttura specifica fatta solo di liste ai fini di questa sfida.
[root_value, left_node, right_node]
cui ciascuno left_node
e right_node
sono anche alberi binari accettabili? Sarà banale in molte lingue, ma potrebbe essere divertente in alcune altre.
a tree is an object that contains a value and either two other trees or pointers to them
. Sarebbe anche piacevole una definizione che includa le lingue senza oggetti.