递归关系,算法

时间:2014-08-23 09:54:02

标签: algorithm

请解释如何处理这些类型的问题。

T(N)= 4T(N / 3)+ N; 我们可以在不使用Master定理的情况下获得这种关系的复杂性。如果是这样,怎么样? 请解释。 另外,我们应该如何找到任何代码的运行时复杂性?

谢谢。

1 个答案:

答案 0 :(得分:3)

代码的时间复杂度为O(n * log_3(n))log_3(n) - &gt; O(n * log n)。 为什么? 这是因为你的关系是递归的,它将继续重复,直到n <3(假设它是基本情况。)

在每个重复步骤中,n的值变为n / 3,并且还执行值为O(n)的循环。 这是树实现Tree Implementation

T(n)= c * T(n / 3)+ n ^ 2的时间复杂度将为O((n ^ 2)* logn)if(log_3(c)== 2)