Computing 2: Applications
Learning Outcomes
- On completion of this module, students will be better able to:
- Analyse algorithms to determine the running time, performance and scaling with problem size
- Design algorithmic solutions for unseen problems using foundational techniques and principles
- Devise programmes that are asymptotically efficient
- Implement well-known, high-level algorithms and adapt them efficiently to new applications
- Design, implement, and analyse their own algorithms and data structures
Description of Content
Running times:Asymptotic notation and running times
Combinatorics
Recurrence relations
Data structures:
Graphs and trees
Induction and recursion:
Foundations of algorithm design
Induction to design algorithms
Design:
Prune and search
Divide and conquer
Greedy algorithms
Algorithms:
Graph traversals
Minimum spanning tree and shortest paths
Maximum flow problem