Haskellites的简单问题:Haskell是否迭代整个序列以获得最后一个值?具体来说,是否为这两个表达式执行了不同数量的指令?
Prelude> last "asdf"
'f'
Prelude> last "qwerty"
'y'
Run Code Online (Sandbox Code Playgroud)
sep*_*p2k 19
是的,Haskell的列表是单独链接的,因此last需要遍历整个列表,从而实现其运行时O(n).
| 归档时间: |
|
| 查看次数: |
433 次 |
| 最近记录: |