Sam*_*ann 23
获得切片是O(i_2 - i_1).这是因为Python的列表内部表示是一个数组,所以你可以从i_1并开始迭代i_2.
有关更多信息,请参阅Python 时间复杂度wiki条目
如果需要,您还可以查看CPython源代码中的实现.
对于大小为N的列表和大小为M的切片,迭代实际上仅是O(M),而不是O(N)。由于M通常是<< N,因此差异很大。
实际上,如果您考虑一下自己的解释,就可以知道原因。您仅从i_1迭代到i_2,而不是从0迭代到i_1,然后从I_1迭代到i_2。
| 归档时间: |
|
| 查看次数: |
16689 次 |
| 最近记录: |