【发布时间】:2011-10-30 10:42:59
【问题描述】:
对于像append 这样对列表(不是字符串)的廉价操作,我会使用Data.DList。
让我望而却步的是,Hackage 上的软件包被标记为“实验性”,最后一次更新是在 2009 年。
DList 仍然是 Haskell 中的最佳选择吗?
【问题讨论】:
-
您期望 O(1) 复杂度的操作是什么?
-
如果你感兴趣的只是追加,那么我推荐这个功能:
append x y = undefined,它非常快。 :) 所以我假设你想在构建列表后做一些事情。一旦你告诉我们那是什么,我们就可以给你建议。 -
@augustss: :) 它是关于构建和转换结构化文本列表的。不是普通的 Data.Text,而是说“粗体“你好”、“段落“冗长的文本”或“部分“标题”“内容...”的列表。
-
@Lenny222 那么如何在每个叶子中构建一个带有文本项的树,然后每个附加生成一个分叉。这给了你恒定的时间追加。您可以稍后在 O(n) 时间内对其进行线性化,即每个附加的摊销 O(1)。
标签: list haskell data-structures