Profundidad de un árbol binario

El árbol binario

se puede representar por

El tipo de los árboles binarios se puede definir por

Definir la función

tal que profundidad x es la profundidad del árbol x. Por ejemplo,

Comprobar con QuickCheck que para todo árbol biario x, se tiene que

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

El tipo de los árboles binarios

1. El tipo de los árboles binarios en Haskell

El árbol binario

se puede representar por

usando el tipo de los árboles binarios definido como se muestra a continuación.

2. El tipo de los árboles binarios en Python

El árbol binario

se puede representar por

usando la definición de los árboles binarios que se muestra a continuación.

Árbol con las hojas en la profundidad dada

El árbol binario

se puede representar por

El tipo de los árboles binarios se puede definir por

Definir la función

tal que creaArbol n es el árbol cuyas hoyas están en la profundidad n. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

Árboles con la misma forma

El árbol binario

se puede representar por

El tipo de los árboles binarios se puede definir por

Definir la función

tal que mismaForma t1 t2 se verifica si t1 y t2 tienen la misma estructura. Por ejemplo,

Soluciones

A continuación se muestran las soluciones en Haskell y las soluciones en Python.


Soluciones en Haskell


Soluciones en Python

El tipo de los árboles binarios con valores en las hojas

1. El tipo de los árboles binarios con valores en las hojas en Haskell

El árbol binario

se puede representar por

usando el tipo de los árboles binarios con valores en las hojas definido como se muestra a continuación.

2. El tipo de los árboles binarios con valores en las hojas en Python

El árbol binario

se puede representar por

usando el tipo de los árboles binarios con valores en las hojas definido como se muestra a continuación.