Learn Data Structures and Algorithms in Python

Lane is a back-end engineer and the lead instructor of Boot.dev. He has taught over one million students worldwide.

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