Learn about binary search trees in Python and how to create, navigate, modify, and use them in a real-world context.
Overview
Syllabus
Introduction
- Getting started with trees
- What you should know
- BSTs and other trees
- Building a basic tree
- Searching a tree
- Traversing a tree
- Getting the maximum height of a tree
- Getting all nodes at a particular depth
- Challenge: Printing a tree
- Solution: Printing a tree
- Adding nodes
- Deleting nodes: Theory
- Deleting nodes: Code
- Detecting unbalanced trees
- Challenge: Adding a balance indicator to the printed tree
- Solution: Adding a balance indicator to the printed tree
- Introduction to rotations
- Rotating trees in Python
- Fixing a tree with multiple points of imbalance
- Challenge: Smarter automated rebalancing
- Solution: Smarter automated rebalancing
- Next steps with data structures
Taught by
Ryan Mitchell