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 Files

2. Slides

3. Pre-Recorded Lecture Video(s), Mini-Quizzes, and Live Recordings

Available Videos
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