“向你学习Haskell”显示了以下数据类型,然后给出了一组使用该数据类型操作树的。data Crumb a = LeftCrumb a (Tree a) | Right Crumb a (Tree a) deriving (Show)
与命令式语言不同,在命令式语言中,像二进制搜索这样的东西将通过遍历指针来解释但是像二进制搜索这样的算法是如何在Haskll中编译下来的呢?它们是否编译成同样有效的向下遍历指针?
data Tree = Node Int Tree Tree | Nil
崩溃::树-> Int塌陷Nil = []塌陷(节点x y z) =(折叠y) ++ x++ (塌陷z)
一个Haskell函数check :: Tree -> Bool,它检查树是否是二进制搜索树.我用一棵树测试它,得到2 4 7 8 10 | 5 6 10 12。在这里,您可以看到到中间的所有值都是排序的,但我不知道该如何编码。定义一个Hask