Árboles con igual estructura

Los árboles binarios con valores en las hojas y en los nodos se definen por

Por ejemplo, los árboles

se pueden representar por

Definir la función

tal que igualEstructura a1 a2 se verifica si los árboles a1 y a2 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

4 Comentarios

  1. Para comparar si dos árboles tienen la misma estructura, podemos definir la función igualEstructura de la siguiente manera:

    La función compara si dos árboles son hojas y, en caso contrario, si ambos tienen la misma estructura en sus ramas izquierdas y derechas. Si alguno de los árboles no cumple con alguna de estas condiciones, entonces devuelve False.

    Por ejemplo:

  2. Here is the same code in Lean:

  3. En Isabelle/HOL, podemos definir el tipo Arbol y la función igualEstructura de la siguiente manera:

    Podemos probar la función con los ejemplos que se nos dan:

  4. Para escribir la solución en Coq, primero debemos definir el tipo de los árboles binarios con valores en las hojas y en los nodos, tal como se nos proporciona:

    Luego podemos definir la función igualEstructura de la siguiente manera:

    Podemos probar la función con los ejemplos que se nos dan, siguiendo la sintaxis de Coq:

Escribe tu solución