相关疑难解决方法(0)

Haskell中的非单片阵列

我接受了下面问题的答案,但似乎我误解了haskell中的Arrays是如何工作的.我以为他们只是加强了名单.阅读以下问题时请记住这一点.


我发现haskell中的单片阵列在将它们用于较大的阵列时效率很低.

我无法在haskell中找到非单片的数组实现.我需要的是O(1)时间查找多维数组.

是否有支持这种情况的数组实现?

编辑:我似乎误解了整体一词.问题是似乎haskell中的数组像列表一样处理数组.我可能错了.

EDIT2:低效代码的简短示例:

fibArray n = a where
  bnds = (0,n)
  a = array bnds [ (i, f i) | i <- range bnds ]
  f 0 = 0
  f 1 = 1
  f i = a!(i-1) + a!(i-2)
Run Code Online (Sandbox Code Playgroud)

这是一个长度数组,n+1其中第i个字段包含第i个斐波纳契数.但由于haskell中的数组具有O(n)时间查找,因此计算需要O(n²)时间.

arrays haskell

2
推荐指数
2
解决办法
390
查看次数

标签 统计

arrays ×1

haskell ×1