If you've had trouble getting past a hard whiteboarding session, this course is for you. 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 course is a natural next step after the Learn Algorithms course.
Overview
Syllabus
- Introduction
- 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
Taught by
Lane Wagner, Allan, Matt, Hunter, and Dan