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

Learn Data Structures and Algorithms in Python

Build data structures from scratch and learn how to think through complex algorithms in Python. Practice your hard problem-solving skills and write faster code to feel confident in interviews.

4.6
430

What will you learn?

If you've had trouble getting past a hard whiteboarding session, this course is for you. Big-O complexity is arguably the most important concept students learn in a formal computer science degree. You'll build data structures from scratch in Python and improve your problem-solving skills. We'll cover binary trees, linked lists, stacks, graphs and more. This Python course will give you the foundation you need to start your career off on the right foot. After completing this course, you'll be comfortable crushing interview questions and writing performant code.

Chapter List

1
Algorithms Intro
Learn about what algorithms are and why they matter
2
Math
Learn the math required to understand Big-O notation, namely exponents, logarithms, and factorials
3
Big-O Analysis
Figure out what Big-O notation and time complexity mean in the context of algorithms and performant code
4
Sorting Algorithms
Learn how data is sorted on a computer, and how to sort it faster
5
Exponential Time
Understand why exponential time complexity is so dangerous
6
Data Structures Intro
Learn about data structures and how they play a critical role in algorithms
7
Stacks
Learn about stacks, the original LIFO data structure and build one from scratch
8
Queues
Learn about the FIFO queue data structure and how to implement a simple one from scratch
9
Linked Lists
Understand how linked lists vary from arrays and how to use one to build a faster queue
10
Binary Trees
Learn about binary trees, what they are used for, and implement one from scratch
11
Red Black Trees
Solve the classic balancing problem of traditional binary trees with a red-black algorithm
12
Hashmaps
Build a hashmap from scratch and learn how to use the Python dictionary type effectively
13
Tries
Build all the methods of a trie class, and efficiently search entire documents of text
14
Graphs
Learn about graph structures and how we can use them to quickly solve a wide array of search problems
15
BFS and DFS
Implement and understand the ever-famous breadth first and depth-first search algorithms
16
P vs NP
Learn about P and NP

Join 22,337 students in the Learn Data Structures and Algorithms in Python course

Read reviews of their learning experiences

This DSA course is an absolute must in order to nail the fundamentals!

(5/5)
Daniel Joseph profile image

Daniel Joseph

India

At times this course can feel confusing. But it is well worth the effort as the teachings are very interesting, and seem to be quite useful for real implementations of various systems!

(4/5)
Alpha Red profile image

Alpha Red

Australia

Thanks for teacing this fundamental knowledge

(5/5)
Alvin Mrema profile image

Alvin Mrema

Dar es salaam, Tanzania

Keep it up ppl! This course might get a little fuzzy, but just take a moment and then continue!

(5/5)
Andrew Halley profile image

Andrew Halley

Asuncion, Paraguay

a really good way to familiarize yourself with algorithms. I am a software engineer with a non-CS undergraduate degree, I found this course extremely helpful and really nicely put together.

(5/5)
Dom  profile image

Dom

Charlotte, USA

The course is nothing short of captivating—challenging, yes, but not insurmountable. Rather than retreat when difficulties arise, press onward with determination. Summon your resolve and commit fully to mastering this craft.

(5/5)
Divan De Bruin profile image

Divan De Bruin

Durban, South Africa

The best way to understand the main concepts of algorithms and data structures, better than most universities course semesters

(5/5)
Mateo Rodriguez Fierro profile image

Mateo Rodriguez Fierro

Colombia

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.


We use AI more than most tech companies - not just to build Boots, but also to assist us in our coding work... and we're still hiring developers!

The demand for technical talent isn't going away. Companies need developers that are AI savvy and can modernize their codebases. The way developers work is changing rapidly, but the demand for developers who can build great software remains high.

We teach software development skills for the modern AI assisted world.


It's completely up to you. The time it will take you to be "job ready" will depend on how much you already know, how often you study, and how long you study for. That said, the backend career path takes many people about 12 months.


Absolutely! If you built it, use it. You'll build several personal projects while completing our curriculum, and our final course about finding jobs will show you how to construct a job-ready portfolio.


We're not a $10,000 bootcamp.

We're not a $50,000 university degree.

We are a self-paced, gamified online learning platform for back-end web development. You can learn with us for the price of a good gym membership.


You can read all about our methodology here. In a nutshell, we're laser focused on teaching backend-development, which is somewhat of a rarity in online learning. We're also focused on solving what we believe is the hardest problem with online learning: boredom.

If you prefer coding rather than watching, and your struggle with online learning is staying motivated and engaged, we think you'll like learning with us.