Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 函数的大O复杂度_Python_Time Complexity_Big O_Nested Lists - Fatal编程技术网

Python 函数的大O复杂度

Python 函数的大O复杂度,python,time-complexity,big-o,nested-lists,Python,Time Complexity,Big O,Nested Lists,我试图找出函数的复杂性。因此,对于嵌套列表,它将是O(n^2),但它也有一个条件语句,它将遍历列表中的所有元素,因此它将是O(n^3)如果条件中的一些代码遍历列表中的所有元素,一些代码运行的次数与lst中元素的数量成正比,那么时间复杂度为O(n3) 如果条件计算为true的次数与len(lst)不成正比,则时间复杂度会更低。例如,如果某个代码的运行次数是恒定的,而与列表的大小无关,则时间复杂度仅为O(n2)。您的代码显然是错误的,但时间复杂度无疑是O(n^2)如果缺少某个代码,没有人能告诉您函数

我试图找出函数的复杂性。因此,对于嵌套列表,它将是O(n^2),但它也有一个条件语句,它将遍历列表中的所有元素,因此它将是O(n^3)

如果条件中的一些代码遍历列表中的所有元素,一些代码运行的次数与lst中元素的数量成正比,那么时间复杂度为O(n3)


如果条件计算为true的次数与
len(lst)
不成正比,则时间复杂度会更低。例如,如果某个代码的运行次数是恒定的,而与列表的大小无关,则时间复杂度仅为O(n2)。

您的代码显然是错误的,但时间复杂度无疑是O(n^2)

如果缺少某个代码,没有人能告诉您函数的复杂度。例如,如果第一个
some code
break
,则复杂性为O(n)。如果它是返回它的O(1),等等。我们可以给你任何答案,这取决于我们如何填补空白。
如果(O(1))
是O(1),那么做一个O(1)运算O(n^2)次仍然是O(n^2)
一些代码
运行的次数与lst中的元素数量成正比,它首先遍历列表中的所有元素,所以我猜复杂性是O(n^3)。感谢you@Nonhey1在您的更新版本中,if语句中的代码没有遍历列表中的所有元素,因此您的更新版本是O(n^2)。是的,很抱歉。。。。。但是谢谢你的回答。请注意,你也知道sqrt函数的复杂性吗?@Nonhey1如果我没记错的话,有一种算法可以计算出平方根,时间与数字的位数成正比。如果您使用的是32位或64位数字,那么实际上是O(1)(因为长度是恒定的)
def x(lst):
   z = 0
   for a in range(len(lst)):
       for b in range(len(lst)):
           mx = lst[0][0]
           if mx > z:
               z = mx           
   return z.