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
· / \ / \ · · / \ / \ 1 4 6 9
se puede representar por
ejArbol = Nodo (Nodo (Hoja 1) (Hoja 4)) (Nodo (Hoja 6) (Hoja 9))
usando el tipo de los árboles binarios con valores en las hojas definido como se muestra a continuación.
data Arbol a = Hoja a | Nodo (Arbol a) (Arbol a)
2. El tipo de los árboles binarios con valores en las hojas en Python
El árbol binario
· / \ / \ · · / \ / \ 1 4 6 9
se puede representar por
ejArbol = Nodo(Nodo(Hoja(1), Hoja(4)), Nodo(Hoja(6), Hoja(9)))
usando el tipo de los árboles binarios con valores en las hojas definido como se muestra a continuación.
from dataclasses import dataclass from typing import Generic, TypeVar A = TypeVar("A") @dataclass class Arbol(Generic[A]): pass @dataclass class Hoja(Arbol[A]): x: A @dataclass class Nodo(Arbol[A]): i: Arbol[A] d: Arbol[A]