Haskell 与 Swift 中的编程技巧与特性
1. Haskell 中的广度优先搜索
在 Haskell 编程中,除法是左结合的,例如 1.0 / 2.0 / 3.0 等价于 (1.0 / 2.0) / 3.0 。在某些代码里, unsafe 操作是 Haskell 程序员的一种取巧做法,本质上是在代码任意位置进行非官方的 IO 操作(如文件读取),并将字典转换为全局变量。
当我们要寻找两个单词间的最短路径时,需要一种可控的方式来探索步骤之间的关系,这就引入了广度优先搜索(BFS)。
1.1 树结构的定义
Haskell 的标准库 Data.Tree 模块提供了合适的类型和相关功能:
-- contained in the Data.Tree module
data Tree a
= Node { rootLabel :: a,
-- label value
subForest :: Forest a
-- zero or more child trees
}
type Forest a = [Tree a]
这里定义了一个树结构,每个节点包含一个值或标签,以及零个或多个子树。 Forest a 是树的列表。例如:
超级会员免费看
订阅专栏 解锁全文
13

被折叠的 条评论
为什么被折叠?



