【发布时间】:2014-03-23 00:52:13
【问题描述】:
Clojure 使用什么数据结构来实现其向量类型?
我问是因为它们有一些有趣的复杂性属性。将它们编入索引很便宜 (O(log32(N))),而且您可以廉价地更改任何项目的新副本。
这会让我认为它是基于(非常宽的)树,但这并不能解释为什么添加到一端很便宜,而不是另一端。您也不能廉价地在向量中间插入或删除元素。
【问题讨论】:
标签: data-structures vector clojure
Clojure 使用什么数据结构来实现其向量类型?
我问是因为它们有一些有趣的复杂性属性。将它们编入索引很便宜 (O(log32(N))),而且您可以廉价地更改任何项目的新副本。
这会让我认为它是基于(非常宽的)树,但这并不能解释为什么添加到一端很便宜,而不是另一端。您也不能廉价地在向量中间插入或删除元素。
【问题讨论】:
标签: data-structures vector clojure
【讨论】: