Clojure 的新 contrib 库组有一个 finger tree library 。 Clojure 中手指树的用例有哪些?何时应该使用手指树来代替 clojure 的其他持久数据结构之一:向量、集合、映射、持久队列等。
Joy of Clojure提到手指树可用于需要廉价插入和删除的索引集合。它们也被描述为“数据结构的瑞士军刀”。我们将非常感激这样的例子。
最佳答案
paper by Ralf Hinze and 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
关于data-structures - 我应该使用 Clojure 的手指树做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3972952/