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.

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 38,106 students in the Learn Data Structures and Algorithms in Python course

Read reviews of their learning experiences

Good intro for a self taught dev wanting to learn some basics. Sometimes a maybe a bit to handholding but you are always free to not read all the hints/pseudocode

(5/5)
Sebastian Haidler profile image

Sebastian Haidler

Austria

This was legit the hardest boot.dev course I've done. Not in a bad way, just its dense and long. I know I felt like quitting a few times. I took a break mid way though, but I did come back to it and finished it. Stick with it, it was worth the pain.

(5/5)
Justin Richards profile image

Justin Richards

Halifax NS. Canada.

This course is NP time

(5/5)
Samuel Mapande profile image

Samuel Mapande

Mars

So much content. It did feel a bit overwhelming at first, but after working through each lesson, going back and revewing previous lessons, and getting feedback from Boots, I feel like I have a much better grasp on so many different data structures and understanding the importance of finding efficient algorithms instead of finding a solution that just works.

(5/5)
Bryce Croft profile image

Bryce Croft

United States

This was the toughest course I have taken so far on Boot.dev and I enjoyed it

(3/5)
Andrien Ricketts profile image

Andrien Ricketts

London, United Kingdom

Good course, but get HELP (Not Answers) from your favorite Generative Artificial Intelligence (GenAI) assistants. Great content, but this course is written to think you have our Masters in C.S. Not beginner friendly, lots of assumptions that you know C.S. inside and out. Hard topics have minimal explanations. But still, it was fun

(3/5)
Pawan  profile image

Pawan

San Jose

this one took patience. there are many complex theories to analyze

(5/5)
Zane Aston profile image

Zane Aston

United States

Hard but rewarding definitely

(5/5)
Yahir Molina  profile image

Yahir Molina

Mexico

Very nice course with some tricky problems to solve

(5/5)
Devin Hasler profile image

Devin Hasler

Bern

Showing 1-9 of 451

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.