Skip to topic
    ← Back to course topics

    Discrete Mathematics — OCR GCSE Further Mathematics

    Test yourself on Discrete Mathematics with OCR GCSE practice questions.

    Start free

    7 days Premium · Then free forever · No card, no charge

    Discrete Mathematics explained

    This subtopic introduces the algorithmic approach to problem-solving, focusing on sorting and packing problems.

    Read the full explanation

    It covers the analysis of algorithm efficiency, including run-time complexity and the hierarchy of orders, to understand how algorithms perform on large-scale problems.

    Read the Discrete Mathematics study guideFull revision notes for OCR GCSE Further Mathematics

    What to demonstrate

    1. Correct tracing of an algorithm through its steps.
    2. Accurate calculation of run-time complexity based on problem size.
    3. Correct identification of the order of an algorithm (e.g., O(n^k)).
    Show all 6 objectives
    1. Correct application of sorting algorithms (Bubble, Shuttle, Quick sort).
    2. Correct application of packing algorithms (Next-fit, First-fit, First-fit decreasing, Full bin).
    3. Correct interpretation of algorithm outputs.

    Discrete Mathematics exam tips

    Topic Overview

    Discrete Mathematics is a branch of mathematics dealing with objects that can assume only distinct, separated values. In the OCR GCSE Further Mathematics course, it introduces students to algorithms, graph theory, and combinatorial reasoning. Unlike continuous mathematics (e.g., calculus), discrete mathematics focuses on finite or countable sets, making it essential for computer science, cryptography, and network analysis. This topic equips students with logical thinking and problem-solving skills that are directly applicable to real-world scenarios, such as scheduling, route planning, and data organisation.

    The core of discrete mathematics in this syllabus revolves around understanding and applying algorithms—step-by-step procedures for solving problems. Students learn to trace algorithms, interpret flowcharts, and use standard algorithms like bubble sort, binary search, and Dijkstra's shortest path algorithm. Graph theory is another key component, where vertices and edges model relationships in networks. Topics such as spanning trees, adjacency matrices, and Eulerian trails build a foundation for more advanced studies in operations research and computer science.

    Mastering discrete mathematics is crucial for students aiming to excel in Further Mathematics because it develops abstract reasoning and precision. It also complements other topics like matrices and proof by induction. In exams, questions often require students to execute algorithms manually or analyse small networks, testing both procedural fluency and conceptual understanding. By studying discrete mathematics, students gain a toolkit for tackling problems that involve discrete structures, which is increasingly valuable in our data-driven world.

    Key Concepts
    • →Algorithms: Understand the definition of an algorithm and be able to trace through algorithms presented in pseudocode or flowcharts. Key algorithms include bubble sort, quick sort, binary search, and Dijkstra's shortest path algorithm.
    • →Graph Theory: Know the terminology: vertices (nodes), edges, directed/undirected graphs, weighted graphs, trees, spanning trees, and adjacency matrices. Be able to identify Eulerian trails, Hamiltonian paths, and use Kruskal's or Prim's algorithm to find a minimum spanning tree.
    • →Network Flows: Understand the concept of flow in a network, including source, sink, capacity, and the max-flow min-cut theorem. Be able to find the maximum flow using the Ford-Fulkerson algorithm (or by inspection for simple networks).
    • →Critical Path Analysis: Use activity networks to model projects, calculate earliest and latest start times, identify the critical path, and compute float times. This is often applied to scheduling problems.
    • →Boolean Algebra: Simplify logic expressions using laws of Boolean algebra (e.g., De Morgan's laws) and represent them using logic gates. This links to computer science and digital electronics.
    Marking Points
    • Correct tracing of an algorithm through its steps.
    • Accurate calculation of run-time complexity based on problem size.
    • Correct identification of the order of an algorithm (e.g., O(n^k)).
    • Correct application of sorting algorithms (Bubble, Shuttle, Quick sort).
    • Correct application of packing algorithms (Next-fit, First-fit, First-fit decreasing, Full bin).
    • Correct interpretation of algorithm outputs.
    Examiner Tips
    • 💡Use the provided Formulae Booklet for algorithm sketches and the hierarchy of orders.
    • 💡Show clear, step-by-step working when tracing algorithms to ensure method marks are awarded.
    • 💡Be prepared to adapt or alter a short set of instructions to create an algorithm.
    • 💡Remember that small-scale problems are used to demonstrate understanding of the process, not just rote application.
    • 💡If a question specifies an algorithm (e.g., Dijkstra's), you must use it; otherwise, inspection may be acceptable.
    • 💡When tracing algorithms, write down the state of variables at each step clearly. Use a table to track changes, especially for sorting algorithms. This helps avoid losing marks for missing intermediate steps.
    • 💡For graph theory questions, always label vertices and edges clearly. When using Dijkstra's algorithm, remember to update the tentative distances and mark visited nodes. A common mistake is forgetting to consider all neighbours of the current node.
    • 💡In critical path analysis, double-check that you have correctly identified all dependencies. The critical path is the longest path through the network; any delay on that path delays the whole project. Use forward and backward passes to find earliest and latest times accurately.
    Common Mistakes
    • Confusing the order of an algorithm with its actual run-time.
    • Incorrectly identifying the pivot in Quick sort when not specified.
    • Failing to follow the specific sorting or packing algorithm requested in the question.
    • Misinterpreting the hierarchy of orders (e.g., failing to recognize O(n log n) vs O(n^2)).
    • Errors in tracing algorithms due to lack of systematic recording.
    • Misconception: 'An algorithm must be written in a programming language.' Correction: An algorithm is a step-by-step procedure that can be described in plain English, pseudocode, or a flowchart. It does not require a specific programming language.
    • Misconception: 'The shortest path in a graph is always the one with the fewest edges.' Correction: In weighted graphs, the shortest path is determined by the total weight (e.g., distance, time), not the number of edges. A path with more edges but lower total weight may be shorter.
    • Misconception: 'A spanning tree is unique for a given graph.' Correction: A graph can have multiple spanning trees. The minimum spanning tree is unique only if all edge weights are distinct. If weights repeat, there may be several minimum spanning trees.
    Frequently Asked Questions
    What is discrete mathematics used for in real life?
    Discrete mathematics is used in computer science for designing algorithms and data structures, in cryptography for secure communication, in logistics for route planning and scheduling, and in network analysis for optimising internet traffic. It also appears in game theory, voting systems, and even genetics. Essentially, any problem involving finite, distinct objects can benefit from discrete mathematics.
    How do I trace an algorithm in an exam?
    Start by writing down all variables and their initial values. Then, follow each step of the algorithm exactly as written, updating the variables in a table. For loops, note the number of iterations and the condition for termination. For conditional statements, check the condition and execute the appropriate branch. Always show your working clearly, as examiners award marks for correct intermediate steps even if the final answer is wrong.
    What is the difference between Eulerian and Hamiltonian paths?
    An Eulerian path visits every edge exactly once, while a Hamiltonian path visits every vertex exactly once. For a graph to have an Eulerian circuit (a closed Eulerian path), all vertices must have even degree. For a Hamiltonian cycle (a closed Hamiltonian path), there is no simple necessary and sufficient condition, but Dirac's theorem states that if every vertex has degree at least n/2 (where n is the number of vertices), then the graph is Hamiltonian.
    How do I find the minimum spanning tree using Kruskal's algorithm?
    First, list all edges in order of increasing weight. Then, add edges one by one, ensuring that no cycles are formed. Continue until you have added (n-1) edges, where n is the number of vertices. The resulting tree is a minimum spanning tree. It's helpful to draw the graph and mark selected edges to avoid mistakes.
    What is the max-flow min-cut theorem?
    The max-flow min-cut theorem states that the maximum flow from a source to a sink in a network equals the total capacity of the minimum cut (a set of edges that, if removed, disconnects the source from the sink). This theorem is used to find the maximum flow in a network and has applications in transportation, telecommunications, and project scheduling.
    How do I simplify Boolean expressions for the exam?
    Use Boolean algebra laws such as identity, null, idempotent, complement, commutative, associative, distributive, absorption, and De Morgan's laws. Start by expanding or factoring where possible. For example, A + A·B = A (absorption). Practice with truth tables to verify your simplifications. In exams, show each step clearly to demonstrate your understanding.