如何知道Python内置函数all()
的时间复杂度?
我试了这些方法,但都没有找到答案。
- 搜索官方复杂性文档,但没有找到答案。
- 试图在Python源代码中找到。但是我找不到算法
all()
在哪里。这是我找到的唯一关于all()
的文件。输入图片描述
定义为O(n)
。它必须检查所提供的所有值的真实性,直到找到一个假值。它会短路(如果它发现一个假值,它立即停止并返回False
而不检查其余的输入),所以在很多情况下它不会做所有的工作,但如果输入实际上都是真的,它必须根据定义检查所有的输入,做O(n)
的工作。大o不关心短路的可能性。