Introduction
Getting started with trees
()
What you should know
()
BSTs and other trees
()
1. Navigating 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
()
2. Modifying Trees
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
()
3. Rebalancing Trees
Introduction to rotations
()
Rotating trees in Python
()
Fixing a tree with multiple points of imbalance
()
Challenge: Smarter automated rebalancing
()
Solution: Smarter automated rebalancing
()
Conclusion
Next steps with data structures
()