递归方法的时间复杂度

时间:2018-04-20 13:35:52

标签: time-complexity

我正在学习时间的复杂性,偶然发现了这样的方法:

double F(int n)
    {
        if (n <= 1)
            return 4;
        return F(n - 3) + 5 * F(n - 4) + 10 * F(n / 5) + 4 * n;
    }

我知道前两行只是例如2 * c,其中c是常数,最后一行怎么样?整个方法的复杂性是什么? F(n) = 2 * c + F(n - 3) + 5 * F(n - 4) + 10 * F(n / 5) + 4 * n =

还有像:

这样的方法
            if (n <= 1)
                return 4;
            if (values[n] != 0)
                return values[n];
            values[n] = F(n - 3) + 5 * F(n - 4) + 10 * F(n / 5) + 4 * n;
            return values[n];

我怎么能算第二个?前四行4 * c?

0 个答案:

没有答案