OCaml中List.nth的复杂性是多少?我们可以在O(1)中找到OCaml中的第n个元素吗?

Ind*_*tor 0 ocaml list selection time-complexity

我发现OCaml List模块的手册没有说明List.nth的作用.它是否像一些简单的递归实现一样花费O(1)或O(n).如果List.nth是O(n),我们可以编写一个函数来在OCaml的O(1)时间内找到第n个元素吗?

And*_*erg 8

标准列表是"单链接",因此它将始终为O(n).

  • @Indicator Arrays.也就是说,您可能首先要考虑是否真的需要随机访问您的用例. (2认同)