CS50 Lesson 5 (Data Structures)
Lesson 5 goes into the fact that arrays aren't an ideal way to store information if it's the kind of information that should be added to regularly and gets really large. So the idea of the 'linked list' makes that easier - that way values can exist anywhere in memory, not all contiguous, and part of what is stored alongside one value is the memory address of the next value.
Through stage props, the instructor walks through the mental model of the linked list, including how to add new items to the list. Then we walk through how to represent that in 'C'.
We also discuss binary trees and how performant they are with lookups. We did not really get into how the binary tree gets rewritten as new values are created the skew the balance, but we did talk through the value of the concept.