Arbol General y Binario en Haskell
Arbol General y Binario en Haskell
Arbol General y Binario en Haskell
Carrera: ISC
Soriano Petla
8 Semestre
tamao Hoja
= 0
Un rbol de este tipo es en realidad una lista, tiene una estructura lineal.
Arboles con diferentes tipos de nodos:
data Arbol7 a b = Nodo7a Int a (Arbol7 a b) (Arbol7 a b)
| Nodo7b Char (Arbol7 a b)
| Fin7a b
| Fin7b Int
22
15
35
12
52
33
:: a -> Arbol a
hoja x = Nodo x []
a1 :: Arbol Integer
a1 = Nodo 10[a11,a12,a13]
where
a11=Nodo 22[hoja 15, hoja 12]
a12= hoja 35
a13=Nodo 52[hoja 33]
hoja
:: a -> Arbol a
hoja x = Nodo x []
Consideraremos que las tres componentes del constructor NodoB son el subrbol
izquierdo, el dato raz y el subrbol derecho respectivamente.
A continuacin se muestra la sintaxis para la creacin de un rbol general en
Haskell.
10
15
24
18
27
24
a2 :: ArbolB Integer
a2 = NodoB al 10 aD
where
al = NodoB all 15 alD
aD = NodoB VacioB 18 aDD
all= hojaB 24
alD= hojaB 27
aDD= hojaB 24
hojaB :: a -> ArbolB a
hojaB x = NodoB VacioB x VacioB