Today we’ll talk about another inductively defined data structure: the tree! It’s one of the most powerful data structures in CS and is incredibly useful for representing real world data. It can allow us to store “relationships” between data. However, if we have a more complex manner of data storage, it means the way we access (or traverse) this data changes.
The intro to trees and tree vocabulary videos are really important as they’ll serve as the foundation to our approach of traversing trees. The Deeper Dive videos are meant as a slow paced, demo focused, series of videos. You might find yourself not needing that depending on how you felt about our introduction of the “linked list” on Monday.
Today's Resources
1. Exercise Files
Download Exercise Files2. Slides
3. Pre-Recorded Lecture Video(s), Mini-Quizzes, and Live Recordings
| Link | Title | Type | Duration |
|---|---|---|---|
| Video 0 | Intro to Trees | pre-recorded | 9:49 |
| Video 1 | Tree Vocab | pre-recorded | 5:06 |
| Video 2 | Binary Trees in Racket | pre-recorded | 7:39 |
| Video 3 | More General Trees | pre-recorded | 2:52 |
| Video 4 | New Count Function | pre-recorded | 3:41 |
| Video 5 | (Deeper Dive) Defining Trees in DrRacket | pre-recorded | 11:36 |
| Video 6 | (Deeper Dive) Tree Algorithms in Racket Pt 1 | pre-recorded | 11:01 |
| Video 7 | (Deeper Dive) Tree Algorithms in Racket Pt 2 | pre-recorded | 7:00 |