1votos

Recorridos pre-in-post orden en Haskell

por josejuan hace 6 años

¡Este me ha gustado mucho!

Dado los recorridos pre orden e in orden de un arbol obtener el recorrido post orden.

1
2
3
4
5
6
7
8
9
10
11
12
import Data.List 
 
post [] _ = [] 
post [x] _ = [x] 
post (x:xs) ys = (b l) ++ (b $ tail r) ++ [x] 
    where (l, r) = splitAt s ys where (Just s) = elemIndex x ys 
          b g = post (filter (\x -> x `elem` g) xs) g 
 
 
 
----- 
test = post [2, 7, 3, 6, 5, 11, 8, 9, 4] [3, 7, 5, 6, 11, 2, 8, 9, 4] 
3 comentarios
0votos

Escrito por andreyna hace 5 años

y como se haria un recorrido en pre-inor-post orden de un arbol binario de una lista [1..100] en lisp y en haskell
0votos

Escrito por josejuan hace 5 años

@andreyna, no entiendo la pregunta, si se nos da una lista (ej. [1..100]), además de decirnos el tipo de árbol (ej. binario) se nos debe indicar la forma en que éstos números están distribuidos en el árbol.

Dicho de otro modo, si tenemos una lista ¿cómo construimos el árbol? (hay muchos posibles).
0votos

Escrito por andreyna hace 5 años

bueno si ese es el problema que no se me da mas datos si no un conjunto de numeros [1..100] y hay que hacer los tres recorridos programandolo en haskell :/

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.