标签: java time-complexity
在计算递归方法的时间复杂度时,我对如何思考一无所知。
以上面的函数为例,时间复杂度是否为O(n),因为根据数字是13412421和1还是20和5会花费更多时间?
答案 0 :(得分:1)
Big O表示法中的时间复杂度:函数divRec被调用x/y的次数是O(n/y)= O(n)的两倍。复杂度为linear。
divRec
x/y
O(n/y)= O(n)
linear
答案 1 :(得分:0)
如果您计算一个简单算法的复杂度,该算法会在数组中迭代一次以完成其任务,则其复杂度为 O(n)-线性,n为数组的长度。
您的算法没有什么不同,只是其复杂度取决于 2个变量。您编写的代码大约执行x / y次,因此,如果 n = x / y ,则n是常数。然后,复杂度类似于上面的示例-O(n),线性。