计算递归方法的时间复杂度

时间:2018-10-26 13:03:03

标签: java time-complexity

在计算递归方法的时间复杂度时,我对如何思考一无所知。

enter image description here

以上面的函数为例,时间复杂度是否为O(n),因为根据数字是13412421和1还是20和5会花费更多时间?

2 个答案:

答案 0 :(得分:1)

Big O表示法中的时间复杂度:函数divRec被调用x/y的次数是O(n/y)= O(n)的两倍。复杂度为linear

答案 1 :(得分:0)

如果您计算一个简单算法的复杂度,该算法会在数组中迭代一次以完成其任务,则其复杂度为 O(n)-线性,n为数组的长度。

您的算法没有什么不同,只是其复杂度取决于 2个变量。您编写的代码大约执行x / y次,因此,如果 n = x / y ,则n是常数。然后,复杂度类似于上面的示例-O(n),线性。