Approximation Algorithms
Skills:
Algorithm Basics90%
Many real-world algorithmic problems cannot be solved efficiently using traditional algorithmic tools, for example, because the problems are NP-hard. The goal of the Approximation Algorithms course is to become familiar with important algorithmic concepts and techniques needed to effectively deal with such problems. These techniques apply when we don't require the optimal solution to certain problems, but an approximation that is close to the optimal solution. We will see how to efficiently find such approximations.
Prerequisites:
In order to successfully take this course, you should already have a basic knowledge of algorithms and mathematics. Here's a short list of what you are supposed to know:
- O-notation, Ω-notation, Θ-notation; how to analyze algorithms
- Basic calculus: manipulating summations, solving recurrences, working with logarithms, etc.
- Basic probability theory: events, probability distributions, random variables, expected values etc.
- Basic data structures: linked lists, stacks, queues, heaps
- (Balanced) binary search trees
- Basic sorting algorithms, for example MergeSort, InsertionSort, QuickSort
- Graph terminology, representations of graphs (adjacency lists and adjacency matrix), basic graph algorithms (BFS, DFS, topological sort, shortest paths)
The material for this course is based on the course notes that can be found under the resources tab.
Watch on Coursera ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
More on: Algorithm Basics
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
The hidden value of teaching ML to Non-ML teams
Medium · Machine Learning
7 Common Java Streams Mistakes and How to Avoid Them
Medium · Programming
Implementing an Item-Based Recommendation System from Scratch in Python
Medium · Machine Learning
Implementing an Item-Based Recommendation System from Scratch in Python
Medium · Data Science
🎓
Tutor Explanation
DeepCamp AI