定义与图对应的Tree类型的值

时间:2017-10-31 06:11:21

标签: haskell

遵循树数据类型的定义

 data Tree = Leaf Int | Node Int Tree Tree

定义与图

对应的Tree类型的值
       0
    1    2
 3   4   5  6

t:tree

t =

我对构造函数leaf vs node感到有些困惑。以及问题的确切结构。所以有一个构造函数Node创建一个带有2个树枝的节点,另一个只创建一个叶子节点正确吗?这是否意味着在我们的定义中,唯一的'leaf'时间是在结尾并且在开始时调用节点?

t = Node '0' 
    (Node '1'
       (leaf '3')
       (leaf '4')
     )
    (Node '2'
       (leaf '5')
       (leaf '6')
     )
输入这个有点帮助我合理化这个哈哈。我有什么正确的吗?

1 个答案:

答案 0 :(得分:2)

您需要0而不是'0'(因为定义中的类型为Int'0'未表示Int)和{{ 1}}而不是Leaf。否则正确。