Consider the following C-function: double foo (int n) { int i; double sum; if…

GATE · 2005 · CS

Consider the following C-function:

double foo (int n)
{
    int i;
    double sum;
    if (n == 0) return 1.0;
    else
    {
        sum = 0.0;
        for (i = 0; i < n; i++)
            sum += foo (i);
        return sum;
    }
}

Suppose we modify the above function foo() and store the values of foo (i), 0 < = i < n, as and when they are computed. With this modification, the time complexity for function foo() is significantly reduced. The space complexity of the modified function would be:

  1. A.

    O(1)

  2. B.

    O(n)

  3. C.

    O(n²)

  4. D.

    O(n!)

Attempted by 319 students.

Sign up free to check your answer

Sign up free

Explore the full course: Gate Guidance By Sanchit Sir

Loading lesson…