Analysis of algorithms and design of algorithms. This module provides the student with the knowledge and skills to analyse and design algorithms.
Basic Data Structures
Queues, trees, heaps, priority queues, graphs.
Analysis of Algorithms
Program costs: time and space, worst case and average case analysis, asymptotic and "big O" notation, polynomial and exponential growth.
Algorithms
Algorithm design strategies: top down design, divide and conquer, recursion, graphing, advanced sorting & searching techniques, advanced pattern matching.
Graph Algorithms
Introduction to discrete optimisation algorithms: dynamic programming, greedy algorithms, shortest path problems, spanning tree problems, depth-first and breadth-first search algorithms, topological sorting, connected components, matrix algorithms.
Search Trees
AVL trees, red-black trees, B+ trees
Cryptography
Simple encryption algorithms.
Module Content & Assessment | |
---|---|
Assessment Breakdown | % |
Other Assessment(s) | 40 |
Formal Examination | 60 |