【发布时间】:2016-05-18 15:37:05
【问题描述】:
我认为创建了一个包含 N+1 个项目的新 ImmutableList。因此它的复杂度应该是 O(N)。
【问题讨论】:
-
好吧,他们决定让它比简单的实现更高效。这有什么问题?
-
您认为创建了一个包含更多项目的全新列表是不正确的。请记住,不可变意味着您可以安全地重用部分现有结构来构建新结构。这种重复使用在许多情况下都可以提高效率。
-
如果您想了解更多关于高效纯函数数据结构的信息,我建议您看看 Chris Okasaki 的书。