Question

    What is the primary difference between recursion and

    iteration in programming?
    A Recursion uses loops for repetition, whereas iteration does not. Correct Answer Incorrect Answer
    B Recursion generally has a higher memory overhead due to function calls. Correct Answer Incorrect Answer
    C Iteration cannot solve problems that recursion can solve. Correct Answer Incorrect Answer
    D Recursion is always faster than iteration. Correct Answer Incorrect Answer
    E Recursion does not require a base case, while iteration requires a condition. Correct Answer Incorrect Answer

    Solution

    Recursion involves a function calling itself until a base condition is met. Each recursive call creates a new stack frame, leading to memory usage that grows with the depth of recursion. Iteration, on the other hand, uses loops and does not involve stack frame creation, making it more memory-efficient in many cases. Why Other Options Are Incorrect: 1. Recursion uses loops for repetition, whereas iteration does not: This statement reverses the roles. Recursion relies on function calls for repetition, while iteration explicitly uses loops (for, while). 2. Iteration cannot solve problems that recursion can solve: Iteration can replicate recursion's functionality by using stacks or queues explicitly. Recursion is often a stylistic or practical choice, not a limitation of iteration. 3. Recursion is always faster than iteration: Recursion can sometimes be slower due to stack overhead and repeated function calls. Tail-call optimization can mitigate this in some languages, but generally, iteration is faster for equivalent tasks. 4. Recursion does not require a base case, while iteration requires a condition: Recursion must have a base case to terminate; otherwise, it leads to infinite calls. Iteration, too, requires a stopping condition, such as a loop exit condition.

    Practice Next