clojure库函数的大O.

时间:2013-06-11 15:31:40

标签: clojure big-o asymptotic-complexity

有人能指出我的资源列出了基本的clojure库函数的Big-O复杂性,例如conj,cons等等吗?我知道Big-O会根据输入的类型而有所不同,但是,这样的资源是否可用?我对编写某些东西感到不舒服,却没有大致了解它的运行速度。

2 个答案:

答案 0 :(得分:16)

以下是由John Jacobsenfrom this discussion组成的表格:

enter image description here

答案 1 :(得分:8)

这里的聚会晚了,但我发现the link in the comments of the first answer更加确定,所以我在这里重新发布一些修改(即english->big-o):

enter image description here
Table Markdown source

在未排序的集合中,O(log 32 n)几乎是恒定的时间,并且因为2 32 节点可以适合位分区的trie节点,这意味着worst-case complexity of log32232 = 6.4。向量也是tries where the indices are keys

排序集合尽可能使用二进制搜索。 (是的,这些都是技术上的O(log n);包括常数因子供参考。)

列表保证第一个元素上的操作有恒定的时间,而其他所有元素的操作保持为O(n)。