Python 这个函数O(n^3)的大O是多少?

Python 这个函数O(n^3)的大O是多少?,python,big-o,Python,Big O,我被这个大O符号卡住了,它应该是O(n^3)。我的思维过程哪里出错了 我知道嵌套的for循环是O(n^2),而while循环可能是O(nlogn)函数,因为for循环是O(n)函数,while循环的值被乘以2,这使得它是O(logn)。也就是说,答案是O(n^3),我很困惑这是怎么回事,除非函数的递归部分与之有关 def do_stuff2(n,x=1.23): 如果您的函数有两个嵌套的for循环,那就是O(n^2): 但除此之外,您的do_stuff2()函数接受一个参数n并调用自身,直到n递

我被这个大O符号卡住了,它应该是O(n^3)。我的思维过程哪里出错了

我知道嵌套的for循环是O(n^2),而while循环可能是O(nlogn)函数,因为for循环是O(n)函数,while循环的值被乘以2,这使得它是O(logn)。也就是说,答案是O(n^3),我很困惑这是怎么回事,除非函数的递归部分与之有关

def do_stuff2(n,x=1.23):

如果您的函数有两个嵌套的for循环,那就是
O(n^2)

但除此之外,您的
do_stuff2()
函数接受一个参数
n
并调用自身,直到
n递归本身为O(n)。然后在其中,在for循环中有一个for循环。
for i in range(n//2):
    for j in range(n//4):
        x += 2*x + j/2 + i*1.2