4

我需要一棵像这样的简单树,带有所有的固定装置-

type 'a Tree =
    | Leaf of 'a
    | Branch of 'a Tree list

必须有类似的东西已经有了很好的添加、删除、映射、过滤、折叠功能等,但我找不到它。我什至没有从 OCaml 中看到我可以移植的一个……我想如果有必要我可以自己写一个。

编辑:改变树的结构更加明显。

4

1 回答 1

1

我认为困难在于add Tree Tree没有人会使用一棵简单的树(带有 say )。如果不指定更具体的树类型,您将不得不通过扫描、降低性能来实现所有这些方法。

此外,不可变树的就地更新非常昂贵,因为在典型设计中共享数据结构很少。

最后,如果您允许任何类型的回溯,则每次都必须完全重写不可变树。

于 2012-08-10T17:07:14.350 回答