Clojure的新贡献图书馆组有一个 手指树 图书馆. 。 Clojure的手指树的用例是什么?何时应该使用手指树,而不是Clojure的其他敏感数据结构之一:矢量,集合,地图,持久性等等。

克洛杰尔的喜悦 提到手指树可用于索引收藏,需要廉价的插入和删除。它们也被描述为“数据结构的瑞士军刀”。这样的例子将不胜感激。

有帮助吗?

解决方案

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

我将在 Clojure Conj 这周末。

更新: 现在有一些示例 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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top