操作的时间复杂性 - Python

时间:2017-05-17 09:01:38

标签: python python-3.x time-complexity

我很想知道python中某些操作的时间复杂性是什么:

x = k * l ( multiplication )

x = k/l ( division )

math.sqrt(y)

math.pow(y,f)

使用while循环的复杂性是什么。

1 个答案:

答案 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)。