Module and Programme Catalogue

Search site

Find information on

2022/23 Undergraduate Module Catalogue

COMP3940 Graph Algorithms and Complexity Theory

10 creditsClass Size: 180

Module manager: Dr Haiko Muller

Taught: Semester 1 (Sep to Jan) View Timetable

Year running 2022/23

Pre-requisite qualifications

Students must have studied one of the below two Pre-requisite modules


COMP2711Algorithms I
COMP2721Algorithms II

Module replaces

COMP3930 Complexity and Approximation

This module is not approved as a discovery module

Module summary

A graph is a mathematical object defined by a set of vertices and a set of edges that connect these vertices. Many problems arising in diverse areas such as transportation, telecommunication, molecular biology, industrial engineering, etc. can be modelled by graphs. These problems then reduce to optimizing some graph parameter. Since the objects we are dealing with are finite, we can envision an algorithm that would list all the possibilities and go through them to find the desired optima. The problem with such an algorithm is its complexity, it grows exponentially with the input size. Even with relatively small input graph it would take the computer centuries to find the answer. The graphs used to model problems in say bioinformatics, or the problems related to the internet, are enormous in size, stressing the importance for the algorithms to be extremely efficient. To construct efficient algorithms one needs to exploit the mathematical understanding of the underlying objects.In this module we introduce a wide range of graph problems, classify them with respect to their computational complexity, and demonstrate how these methods extend to other computational problems.


On completion of this module students should be able to:
- recognise real-world problems that can be modelled by graph problems considered in this module;
- understand and be able to use these algorithms;
- demonstrate how such algorithms are analysed;
- construct reductions to prove NP-hardness;

Learning outcomes
On completion of the year/programme students should have provided evidence of being able to:
-understand and demonstrate coherent and detailed subject knowledge and professional competencies some of which will be informed by recent research/scholarship in the discipline;
-deploy accurately standard techniques of analysis and enquiry within the discipline;
-demonstrate a conceptual understanding which enables the development and sustaining of an argument;
-appreciate the uncertainty, ambiguity and limitations of knowledge in the discipline


Network flows (Ford-Fulkerson Labelling Algorithm, Max Flow Min Cut Theorem)
Matchings (matchings in bipartite graphs, matchings in general graphs, Edmonds’ Blossom Algorithm, matchings and coverings, Hall’s Theorem, König-Egervary Theorem)
Complexity Theory (the classes P and NP, NP-completeness, polynomial-time many-one reductions, proofs of NP-completeness of independent set, vertex cover and clique problems)

Teaching methods

Delivery typeNumberLength hoursStudent hours
Private study hours68.00
Total Contact hours32.00
Total hours (100hr per 10 credits)100.00

Private study

Taught session preparation: 18 hours
Taught session follow-up: 18 hours
Self-directed study: 7 hours
assessment activities: 23 hours

Opportunities for Formative Feedback

Attendance and formative assessment.

Methods of assessment

Assessment typeNotes% of formal assessment
In-course AssessmentCoursework 120.00
Total percentage (Assessment Coursework)20.00

Normally resits will be assessed by the same methodology as the first attempt, unless otherwise stated

Exam typeExam duration% of formal assessment
Standard exam (closed essays, MCQs etc) (S1)2 hr 80.00
Total percentage (Assessment Exams)80.00

Resits will be assessed by exam only.

Reading list

The reading list is available from the Library website

Last updated: 08/09/2022


Browse Other Catalogues

Errors, omissions, failed links etc should be notified to the Catalogue Team.PROD

© Copyright Leeds 2019