Coursera
Coursera Logo

Approximation Algorithms 

  • Offered byCoursera

Approximation Algorithms
 at 
Coursera 
Overview

Duration

15 hours

Start from

Start Now

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Approximation Algorithms
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level
  • Approx. 15 hours to complete
  • English Subtitles: English
Read more
Details Icon

Approximation Algorithms
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • Many real-world algorithmic problems cannot be solved efficiently using traditional algorithmic tools, for example because the problems are NP-hard. The goal of this 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. We will not cover everything from the course notes. The course notes are there both for students who did not fully understand the lectures as well as for students who would like to dive deeper into the topics.
  • The video lectures contain a few very minor mistakes. A list of these mistakes can be found under resources (in the document called "Errata"). If you think you found an error, report a problem by clicking the square flag at the bottom of the lecture or quiz where you found the error.
Read more

Approximation Algorithms
 at 
Coursera 
Curriculum

Introduction to Approximation algorithms

Introduction to Approximation Algorithms

Course notes 1.1

Introduction

The Load Balancing problem

A greedy algorithm for load balancing

Analysis of the greedy-algorithm

The ordered scheduling algorithm

Course notes 1.2

The load balancing problem

LP Relaxation

The vertex-cover problem

An approximation algorithm for vertex-cover

A brief introduction to linear programming

Weighted vertex-cover

LP relaxation for weighted vertex-cover

LP relaxation: Analyzing approximation ratio

Course notes 3.1

Course notes 3.2

LP Relaxation

Polynomial-time approximation schemes

Polynomial-time approximation schemes

Knapsack Problem

A dynamic-programming algorithm for knapsack

A PTAS for knapsack

Analysis of the PTAS for knapsack: approximation ratio

Analysis of the PTAS for knapsack: running time

Course notes 4.1

Course notes 4.2

Polynomial-time approximation schemes

Approximation Algorithms
 at 
Coursera 
Admission Process

    Important Dates

    May 25, 2024
    Course Commencement Date

    Other courses offered by Coursera

    – / –
    3 months
    Beginner
    – / –
    20 hours
    Beginner
    – / –
    2 months
    Beginner
    – / –
    3 months
    Beginner
    View Other 6715 CoursesRight Arrow Icon
    qna

    Approximation Algorithms
     at 
    Coursera 

    Student Forum

    chatAnything you would want to ask experts?
    Write here...