levo

Recursion and Modular Programming

Recursion compared with iteration

  • 3 things to know
  • Component 1

Overview

What tail recursion means, iterative version of the factorial algorithm and why recursion can make a program harder to debug.

What you need to know

Answer each one before you reveal it.

Your recallNot started
Key term

Define iteration.

Evaluation

Give two advantages of recursion over iteration.

Evaluation

Give two disadvantages of recursion compared with iteration.

Questions from this subtopic

Each one with the model answer underneath.

  1. 1

    Define iteration.

    Model answer

    Iteration is the repetition of a block of statements using a loop. The loop ends when its condition is satisfied.

  2. 2

    Give two advantages of recursion over iteration.

    Model answer

    A recursive solution is usually shorter and closer to the mathematical definition of the problem. Recursion also suits data structures such as trees that are defined recursively.

  3. 3

    Give two disadvantages of recursion compared with iteration.

    Model answer

    Recursion uses more memory because every unfinished call keeps a stack frame. The overhead of making and returning from calls also makes recursion slower.

  4. 4

    Can every recursive algorithm be rewritten iteratively?

    Model answer

    Every recursive algorithm has an iterative equivalent, although a stack may have to be managed by hand. The iterative version is often longer and less clear.

  5. 5

    Which uses less memory for calculating a factorial, recursion or iteration?

    Model answer

    Iteration uses less memory because one accumulator variable is reused for every step. Recursion needs one stack frame for every value down to the base case.

  6. 6

    Why might a programmer still choose recursion even though it is slower?

    Model answer

    A recursive version can be far easier to read and to prove correct. Development and maintenance time often matter more than a small loss of speed.

Other ways to work this

The same content, four other ways.

What is inside Levo

Six ways to work the same material.

1Closed book
2Open book
3Closed book

The 3-step method, run for you

Answer cold, learn it, then prove it stuck. Levo tracks the jump between your first attempt and your last.

Data Structures: Arrays, Records and Hash Tables
Stacks, Queues, Linked Lists and Trees
Boolean Logic and Simplification
Algorithms, Pseudo-Code and Programming Constructs

Cram a whole paper in one sitting

Sort every topic into what you know and what you do not, then drill only the weak ones.

KDW to HAT.
decryptsencryptscompresses

Blank Blitz makes facts automatic

Rapid timed gap-fills on the terms and numbers you need to recall without thinking.

AThe two are not the same.
BOpen source refers to the availability of the code.
CMuch open source software is free of charge.

Build It gets the exam shape right

Assemble a full-mark answer from its marking points, in the order an examiner wants them.

Backup means the copy of the data.
TrueFalse

Test It catches misconceptions

Spot the fault in a statement. The traps are the mistakes students actually make.

721941163128510

Brain Breaks between sessions

Short focus games to reset attention, so the next set lands better than the last.

Every question in Recursion and Modular Programming, on a schedule.

Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.

Or £46 a year, about £3.83 a month. Cancel anytime.