【发布时间】:2011-06-12 01:31:45
【问题描述】:
在 Scala 中,是否有用于在恒定时间内连接两个列表(或数组、向量或列表缓冲区等)的内置函数或外部库?这样的操作可能会破坏/改变两个原始列表。据我所知,我看到的所有用于连接列表的函数都以线性时间运行。
非常感谢。
【问题讨论】:
-
你怎么可能在恒定时间内复制 N 个(即可变数量)项目?
-
@delnan:他没有要求复制这些值。例如,您可以通过创建以两棵树作为子节点的新根来在恒定时间内连接两棵二叉树。 (在这种情况下,您必须看到“序列”的松散含义的“列表”。)
-
看看是否可以使用 DList。见stackoverflow.com/questions/3352418/what-is-a-dlist。最终,您仍然需要一个线性运算来构建最终列表,但它可能是最接近现成可用的东西。
标签: list scala data-structures concatenation