相关疑难解决方法(0)

Haskell中的Catamorphism和树遍历

我很不耐烦,期待理解与这个SO问题有关的 catamorphism :)

我只练习了Real World Haskell教程的开头.所以,也许我现在要问的方式太多了,如果是这样的话,那就告诉我应该学习的概念.

下面,我引用了维基百科代码样本的catamorphism.

我想知道你对下面的foldTree的看法,这是一种遍历树的方法,与其他SO问题和答案相比,还涉及遍历Tree n-ary树遍历.(独立于二进制或不二进制,我认为下面的catamorphism可以编写,以便管理n-ary树)

我评论了我的理解,如果你能纠正我,并且澄清一些事情,我会很高兴.

{-this is a binary tree definition-}
data Tree a = Leaf a
            | Branch (Tree a) (Tree a)

{-I dont understand the structure between{} 
however it defines two morphisms, leaf and branch 
leaf take an a and returns an r, branch takes two r and returns an r-} 
data TreeAlgebra a r = TreeAlgebra { leaf   :: a      -> r
                                   , branch :: r -> r …
Run Code Online (Sandbox Code Playgroud)

haskell tree-traversal catamorphism

15
推荐指数
1
解决办法
2976
查看次数

标签 统计

catamorphism ×1

haskell ×1

tree-traversal ×1