Learning Outcomes

Understand how this course is organized and basic concepts in algorithmic analysis

You understand

Referencing modules: Introduction

Apply algorithmic analysis & design principles to a problem

You are able to

Referencing modules: Project

Understand sorting algorithms and their analysis

You understand

Referencing modules: Sorting

Understand amortized analysis and their application to heap data structures

You understand

Referencing modules: Heaps

Understand search trees algorithms and their analysis

You understand

Referencing modules: Trees

Understand algorithm design methods

You understand how to design and analyze algorithms using

Referencing modules: Algorithm Design Methods

Understand hashing-based algorithms

You understand

Referencing modules: Hashing

Know how to design and analyze graph algorithms

You know how to

Referencing modules: Graph Algorithms

Understand NP-Completeness and how to deal with NP-hard problems

You know how to

Referencing modules: NP-Completeness