Eduqas A-Level Computer Science A500QS
Data Structures: Arrays, Records and Hash Tables
Stacks, Queues, Linked Lists and Trees
Boolean Logic and Simplification
Algorithms, Pseudo-Code and Programming Constructs
Variables, Scope, Parameters and Identifiers
Recursion and Modular Programming
Sorting Algorithms
Searching and Shortest-Path Algorithms
Big O Notation and Algorithm Efficiency
Validation, Verification and Testing
Data Compression
Programming Paradigms and Computer Languages
Systems Analysis, Maintenance and Documentation
System Design and Human-Computer Interaction
Software Engineering Tools and Translators
Computing, Society and the Law
Computer Architecture, the Processor and Assembly Language
Input, Output and Secondary Storage
Networks, Protocols and the Internet
Data Transmission and Network Performance
Number Systems and Binary Arithmetic
Data Types, Characters and Floating Point
Files, Records and File Organisation
Databases, Normalisation and Entity Modelling
SQL, Big Data and Distributed Systems
The Operating System and Its Modes
Interrupts, Memory Management and Scheduling
Types of Software System
Data Security, Cryptography and Attack
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.
Give two advantages of recursion over iteration.
Give two disadvantages of recursion compared with iteration.
Questions from this subtopic
Each one with the model answer underneath.
- 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
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
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
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
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
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.
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.