这段代码的复杂度是多少?我知道关系是 T(n)=nT(n/2)+n
void methode(int n) for (int i = 1; i <= n; i++) { ifs1 = ifs1 + 1; if (n >= 1) methode(n / 2); }
这个方法有一个非常不寻常的递归关系,T(n) = n(T(n) + 1)。我相信渐近解是
T(n) = n(T(n) + 1)
T(n) ∈ Θ(n^((log2(n)+1)/2))
或者格式很好:
如果您需要我详细说明,请告诉我。