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:

  1. To be able to provide solutions for problems with an algorithmic approach.
  2. To be able to identify algorithm design options for a given problem.
  3. 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

Instructor(s)

Research Assistant Dr.
Professor