Find the perfect coding resourcesLearn more

Learn Data Structures and Algorithms in Python

Boot.devBoot.dev
Recommended
Meet Your Instructor
Lane Wagner avatar

Lane Wagner

Instructor

Lane is a back-end engineer and the lead instructor of Boot.dev. He has taught over one million students worldwide, on Boot.dev, FreeCodeCamp, YouTube and the Backend Banter podcast. Lane worked as a backend engineer writing Go, Python and TypeScript, then moved into engineering management and a couple of years later left to build Boot.dev full-time.

32 hours

Completion

Certificate included

Format

Interactive coding

Freemium

What You'll Learn

Build data structures from scratch in Python

Analyze algorithms using Big-O notation

Implement sorting algorithms for efficient data handling

Create and manipulate stacks and queues

Develop binary trees and understand their applications

Overview

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.

Table of Contents
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

Share Your Experience

Sign in to leave a review and help others

No reviews yet. Be the first to review!