29

Clojure 的新 contrib 库组有一个手指树 。clojure 中手指树的用例是什么?何时应该使用手指树而不是 clojure 的其他持久数据结构之一:向量、集合、映射、持久队列等。

Clojure的喜悦提到手指树可用于需要廉价插入和删除的索引集合。它们也被描述为“数据结构的瑞士军刀”。这方面的例子将不胜感激。

4

1 回答 1

27

Ralf Hinze 和 Ross Paterson在一篇论文中描述了 2-3 个手指树。它们不仅提供了数据结构本身的完整描述,还提供了如何在 Haskell 中使用它的几个示例。他们描述的大多数特性已经在 Clojure 库中可用,但是文档还没有。

我将在本周末的Clojure Conj上介绍 Clojure 手指树。

更新:现在有一些示例显示在http://github.com/clojure/data.finger-tree#readme

更新:演讲幻灯片:https ://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf

更新:演讲视频:http ://www.youtube.com/watch?v=UXdr_K0Lwg4

于 2010-10-20T02:09:58.380 回答