Clojure的新contrib庫組有一個finger treelibrary。 clojure中指狀樹的用例是什麼?什麼時候應該使用手指樹而不是clojure的其他常用數據結構之一:矢量,集合,地圖,持久性隊列等。我應該怎樣使用Clojure的手指樹?
Joy of Clojure提到Finger樹可以用於需要廉價插入和刪除的索引集合。他們也被形容爲「數據結構的瑞士軍刀」。非常感謝這樣的例子。
Clojure的新contrib庫組有一個finger treelibrary。 clojure中指狀樹的用例是什麼?什麼時候應該使用手指樹而不是clojure的其他常用數據結構之一:矢量,集合,地圖,持久性隊列等。我應該怎樣使用Clojure的手指樹?
Joy of Clojure提到Finger樹可以用於需要廉價插入和刪除的索引集合。他們也被形容爲「數據結構的瑞士軍刀」。非常感謝這樣的例子。
2-3指樹在paper by Ralf Hinze and Ross Paterson中描述。它們不僅提供了數據結構本身的完整描述,而且還提供了在Haskell中如何使用它的幾個例子。他們描述的大部分功能已經可以在Clojure庫中找到,但文檔根本不存在。
這週末我會介紹Clojure手指樹Clojure Conj。
更新:現在有在http://github.com/clojure/data.finger-tree#readme出一些例子
更新:幻燈片從談話:https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf
看馬,我有一把新的錘子!電視機看起來就像一個釘子:-)。 – Ralph 2010-10-20 12:44:10