We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.

Learn Advanced Algorithms

An interactive online course

Learn everything you need to ace tough technical interviews. This Python course covers graph theory, dynamic programming, and linear programming. You'll learn niche algorithms and ways of thinking that will help you advance your career from a junior to a senior developer.

22 Hours

of material

null challenges

and quizzes


of completion

A key part of the

back-end career path

Avoid tutorial hell

by writing a ton of code

Learn flexibly online

without interrupting your life

What will you learn?

Chapter list

Learn about Dijkstra's algorithm, one of the best ways to find the shortest path between two points
Bellman Ford
Implement the Bellman Ford algorithm, a specialized way to find the shortest path on a weighted graph
Master priority queues and heaps. You'll efficiently find the minimum or maximum element in a collection
A* Search
The A* algorithm is an advanced search that uses heuristics to guide the search to a more optimal solution
Dynamic Programming
Dynamic programming is all about trading space for time, learn how we can take exponential problems and make them linear
Edit Distance
Edit distance is a classic problem in computer science, learn how to solve it with dynamic programming
Linear Programming
Learn about how to solve complex optimization problems

Authored by

Maintained by