Copyright | Exercitium (09-05-14) |
---|---|
License | GPL-3 |
Maintainer | JoseA.Alonso@gmail.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Ramas_de_un_arbol
Description
Los árboles se pueden representar mediante el siguiente tipo de datos
data Arbol a = N a [Arbol a] deriving Show
Por ejemplo, los árboles
1 3 / \ /|\ 2 3 / | \ | 5 4 7 4 | /\ 6 2 1
se representan por
ej1, ej2 :: Arbol Int ej1 = N 1 [N 2 [],N 3 [N 4 []]] ej2 = N 3 [N 5 [N 6 []], N 4 [], N 7 [N 2 [], N 1 []]
Definir la función
ramas :: Arbol b -> [[b]]
tal que (ramas a) es la lista de las ramas del árbol a. Por ejemplo,
>>>
ramas ej1
[[1,2],[1,3,4]]>>>
ramas ej2
[[3,5,6],[3,4],[3,7,2],[3,7,1]]
Documentation
Tipo de los árboles.