CENG 218
Analysis and Design of Algorithms
The role of algoritms in computing, Growth of functions, recurrences, probabilistic analysis and randomized algorithms, dynamic programming, greedy algorithms, advanced data structures, graph algorithms, NP-Completeness.
Learning Outcomes:
- To be able to provide solutions for problems with an algorithmic approach.
- To be able to identify algorithm design options for a given problem.
- To be able to analyse complexity of applications.
Topics |
Overview |
Complexity Theory |
Asymptotic Notation |
Recurrences |
Dynamic Programming |
Analysis, Design & Implementation |
Midterm |
Greedy Algorithms |
Merging |
Advanced Data Structures |
Graph Algorithms |
String Matching |
Sorting |
Problem solving |