是否有开源的F#Tree数据结构?

时间:2012-08-10 14:17:49

标签: f# tree immutability

我需要一个像这样的简单树,所有的修复 -

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

必须有这样的东西已经有很好的添加,删除,地图,过滤器,折叠功能等,但我找不到它。我甚至没有看到OCaml的一个我可以移植...猜猜我可以在必要时自己写一个。

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

1 个答案:

答案 0 :(得分:1)

我认为困难在于没有人会使用简单的树(比如说add Tree Tree)。如果不指定更具体的树类型,则必须通过扫描,坦克性能来实现所有这些方法。

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

最后,如果允许任何类型的反向跟踪,每次都必须完全重写不可变树。