考虑到我们有一系列幺半群元素,Data.Sequence
非常适合插入,更改某些位置的元素。
我关注以下查询sum i j sequence
,该查询返回位置mconcat
到i
的所有元素的j
。这可以通过使用FingerTree
来完成,其中度量包含索引和mconcat
结果的O(log n)时间。
在某些Haskell库中是否已实现此功能?或者我是否必须使用此功能Data.Sequence
再次实施Data.FingerTree
? (Sequence
暴露的内部结构太少,无法有效地做到这一点。)