Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).
Who is this class for: Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.
Created by: Stanford University-
Taught by: Tim Roughgarden, Professor
Computer Science
Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).
Who is this class for: Learners with at least a little bit of programming experience who want to learn the essentials of algorithms. In a University computer science curriculum, this course is typically taken in the third year.
Created by: Stanford University-
Taught by: Tim Roughgarden, Professor
Computer Science
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
CertificatesEarn official recognition for your work, and share your success with friends, colleagues, and employers.
Stanford University The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is an American private research university located in Stanford, California on an 8,180-acre (3,310 ha) campus near Palo Alto, California, United States.Syllabus
WEEK 1
Week 1
The Bellman-Ford algorithm; all-pairs shortest paths.
14 videos, 4 readings expand
- Reading: Week 1 Overview
- Reading: Overview, Resources, and Policies
- Reading: Lecture Slides
- Video: Single-Source Shortest Paths, Revisted
- Video: Optimal Substructure
- Video: The Basic Algorithm I
- Video: The Basic Algorithm II
- Video: Detecting Negative Cycles
- Video: A Space Optimization
- Video: Internet Routing I [Optional]
- Video: Internet Routing II [Optional]
- Video: Problem Definition
- Video: Optimal Substructure
- Video: The Floyd-Warshall Algorithm
- Video: A Reweighting Technique
- Video: Johnson's Algorithm I
- Video: Johnson's Algorithm II
- Reading: Optional Theory Problems (Week 1)
Graded: Problem Set #1
Graded: Programming Assignment #1
WEEK 2
Week 2
NP-complete problems and exact algorithms for them.
11 videos, 2 readings expand
- Reading: Week 2 Overview
- Video: Polynomial-Time Solvable Problems
- Video: Reductions and Completeness
- Video: Definition and Interpretation of NP-Completeness I
- Video: Definition and Interpretation of NP-Completeness II
- Video: The P vs. NP Question
- Video: Algorithmic Approaches to NP-Complete Problems
- Video: The Vertex Cover Problem
- Video: Smarter Search for Vertex Cover I
- Video: Smarter Search for Vertex Cover II
- Video: The Traveling Salesman Problem
- Video: A Dynamic Programming Algorithm for TSP
- Reading: Optional Theory Problems (Week 2)
Graded: Problem Set #2
Graded: Programming Assignment #2
WEEK 3
Week 3
Approximation algorithms for NP-complete problems.
6 videos, 1 reading expand
- Reading: Week 3 Overview
- Video: A Greedy Knapsack Heuristic
- Video: Analysis of a Greedy Knapsack Heuristic I
- Video: Analysis of a Greedy Knapsack Heuristic II
- Video: A Dynamic Programming Heuristic for Knapsack
- Video: Knapsack via Dynamic Programming, Revisited
- Video: Ananysis of Dynamic Programming Heuristic
Graded: Problem Set #3
Graded: Programming Assignment #3
WEEK 4
Week 4
Local search algorithms for NP-complete problems; the wider world of algorithms.
11 videos, 3 readings expand
- Reading: Week 4 Overview
- Video: The Maximum Cut Problem I
- Video: The Maximum Cut Problem II
- Video: Principles of Local Search I
- Video: Principles of Local Search II
- Video: The 2-SAT Problem
- Video: Random Walks on a Line
- Video: Analysis of Papadimitriou's Algorithm
- Video: Stable Matching [Optional]
- Video: Matchings, Flows, and Braess's Paradox [Optional]
- Video: Linear Programming and Beyond [Optional]
- Video: Epilogue
- Reading: Optional Theory Problems (Week 4)
- Reading: Info and FAQ for final exam
Graded: Problem Set #4
Graded: Programming Assignment #4
Graded: Final Exam
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate $1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.