在python中运行len(array)的时间复杂度?

时间:2016-06-07 03:38:31

标签: python

Python如何找到数组的长度?它是存储在内部数据结构中的某个位置还是必须遍历整个事物才能找到长度?

我问,因为我正在使用它进行二进制搜索,它应该在O(log(n))中运行,但是如果我必须迭代整个事情只是为了找到长度,这显然没有意义。

1 个答案:

答案 0 :(得分:3)

列表可以将其长度存储为其结构的一部分。由于它只需要存储在一个地方,它可以为所有计算添加最多O(1),因此不会有太多的开销。

因此,获取长度为O(1),因为它只是查找字段。

有关详细信息,请参阅the docs