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

Learn Data Structures and Algorithms 2 in Python

This Python course is not for the faint of heart. It covers graphs, dynamic programming, and linear programming among other things.

What will you learn?

You might know algorithms, but do you know advanced algorithms? We're not really sure what that means either, because the distinction is a bit arbitrary. In a nutshell, this is an extension of our basic algorithms course, and here you'll learn more niche algorithms and pick up new ways of thinking that will help you advance your career from a junior to a senior developer.

Chapter List

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

Join 3,385 students in the Learn Data Structures and Algorithms 2 in Python course

Read reviews of their learning experiences

Great course for getting started with Graphs, Advanced Algorithms and Dynamic Programming

(4/5)
Umrao Krishna Singh profile image

Umrao Krishna Singh

India

Pretty good, now I partially know how the built in equation solver in my calculator (ti inspire CX II CAS) works

(5/5)
Cooper Howard profile image

Cooper Howard

United States

Don't get impress by the "deeper learning" it's easier than the first part!

(5/5)
Akshell  profile image

Akshell

France

I kinda liked it but it is Extremely dry and repetitive. The assignments feel like pointless busy work. Same examples beaten to death (Fibonacci, edit distance). By the time you reach linear programming, it's just a tedious slog. Multiple choice questions are poorly worded. Zero practical application or real-world context. Just trying to get through it rather than actually learning. Save your time and money.

(2/5)
Papa Kwame Agyabeng Quansah profile image

Papa Kwame Agyabeng Quansah

New York United States (i moved)

it was a lot of fun and interesting

(5/5)
Raphaelle Romieu profile image

Raphaelle Romieu

France

Excellent course.

(4/5)
Daniil  profile image

Daniil

Finland

Have you tried thinking in 3 dimensions with 2 dimensional objects? That is what this course feels like. Matrices upon matrices...

(4/5)
Dorian Rios profile image

Dorian Rios

Vail, United States

good addition to basic algorithms course!!

(5/5)
Александр Щербаков profile image

Александр Щербаков

Serbia

cool courses on this site

(5/5)
Kristiyan Nikolov profile image

Kristiyan Nikolov

Bulgaria

Showing 1-9 of 30

or view more reviews

Mediocrity doesn't cut it anymore

The only way to become a great developer is to write a lot of code

Avoid tutorial hell

by writing a ton of code

Stay motivated with

a game-like curriculum

Build portfolio projects

to prove your skills

Delve deeper

into foundational concepts

Learn flexibly online

without interrupting your life

For 1% the price of college

to minimize your financial risk

Frequently asked Questions

Got questions? We've got answers

Yes! It's free to create an account and start learning. You'll get all the immersive and interactive features for free for a few chapters. After that, if you still haven't paid for a membership, you'll be in read-only (content only) mode.