小编tal*_*tal的帖子

实现mapTree函数

我要求定义函数:

treeMap :: (a -> b) -> BinaryTree a -> BinaryTree b
Run Code Online (Sandbox Code Playgroud)

它接受一个函数和一个二叉树,并生成一个二叉树,其中所有节点都是在给定树上应用该函数的结果

二进制树是:

data BinaryTree a = Nil | BNode a (BinaryTree a) (BinaryTree a)
Run Code Online (Sandbox Code Playgroud)

和我的代码不符合。我收到以下错误:

error: Not in scope: data constructor ‘BinaryTree’
treeMap f (BNode x (BinaryTree l) (BinaryTree r)) =    |                                    ^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)

我的代码:

data BinaryTree a = Nil | BNode a (BinaryTree a) (BinaryTree a)

treeMap :: (a -> b) -> BinaryTree a -> BinaryTree b
treeMap f Nil  = Nil
treeMap f (BNode x (BinaryTree l) …
Run Code Online (Sandbox Code Playgroud)

binary-tree dictionary haskell

3
推荐指数
1
解决办法
71
查看次数

如何产生一个无限的二叉树?

我被要求为以下二进制树实现一个功能:

data BinaryTree a = Nil | BNode a (BinaryTree a) (BinaryTree a) 
Run Code Online (Sandbox Code Playgroud)

我需要实现的功能应该产生一个完整的,对称的,无限的二进制树a,并且具有以下特征:

infTree :: a -> BinaryTree a
Run Code Online (Sandbox Code Playgroud)

我该如何实施?

tree binary-tree haskell

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

标签 统计

binary-tree ×2

haskell ×2

dictionary ×1

tree ×1