skip to main |
skip to sidebar
Binary tree right side view with Haskell
data BTree a = Leaf | Branch a !(BTree a) !(BTree a) deriving Show
expand Leaf = return (mempty, [])
expand (Branch a l r) = return (Alt (Just a), [r, l])
rightSideView = mapM (getAlt . mconcat) . init . levels . runIdentity . unfoldTreeM_BF expand
No comments:
Post a Comment