
Overview
This lesson covers three similar, tree-based data structures:
- Binary trees.
- Tries.
- A self-balancing binary tree (aka, an AVL tree).
Prerequisites
Learning Objectives
By the end of this module, learners will be able to:
- Describe how binary trees and tries are structured.
- Determine whether breadth-first or depth-first traversal is a more efficient search method for a given situation.
- Identify scenarios in which binary trees and tries are used in programming.
- Implement a binary tree.
- Distinguish between a balanced and an unbalanced binary tree.
- Explain how an AVL tree balances itself.
- Balance a binary tree.
Content
There are four components to this module. We recommend tackling them in the order below:
- Lesson: Binary Trees and Tries
- Exercise: Implementing a Binary Tree
- Lesson: Balancing a Binary Tree
- Exercise: Implementing an AVL Tree
Solution Code
Time to Complete
3 hours total:
- 1 hour - Binary Trees and Tries and Balancing a Binary Tree Lessons
- 2 hours - Implementing a Binary Tree and Implementing an AVL Tree Exercises
Additional Resources
Internal resources
✏️ Instructor Guide
🏗️ Release Notes
Find a 👾 bug 👾 or have suggestions? Let us know!