Una estructura de datos de árbol se puede definir de forma recursiva (localmente) como una colección de nodos (a partir de un nodo raíz), donde cada nodo es una estructura de datos con un valor, junto con una lista de referencias a los nodos (los "hijos") , con la condición de que ninguna referencia esté duplicada ni que ningún nodo apunte a la raíz.