我很想知道python中某些操作的时间复杂性是什么:
x = k * l ( multiplication )
x = k/l ( division )
math.sqrt(y)
math.pow(y,f)
使用while循环的复杂性是什么。
答案 0 :(得分:2)
我真的相信它在Python中与在其他所有常用语言中一样吗?
x = k * l # multiplication -> O(n²)
x = k/l # division -> O(n²)
math.sqrt(y) # -> O(M(n))
math.pow(y,f) # -> O(M(n))k), n digits number and k bit exponent
while loop # -> O(n) ,same as For loop.
编辑:对于乘法,Python使用standard multiplication algorithm O(n²)但是对于非常大的数字,它与Karatsuba algorithm一致,因此根据wikipedia得到O(n ^ 1.585)。