Programming requires a good knowledge of the fundamentals of computer science, especially common data structures and algorithms. This class will cover the Tree, an abstract data structure used to represent hierarchical data. We will specifically look at binary trees, a tree implementation where each node can have only two children, though other types of tree exist as well. Though implementations and usage change between different languages, trees show up in many interviews and a conceptual understanding of them is important.
This class will cover topics including:
- A conceptual overview of trees
- How trees are stored in computer memory
- Benefits, drawbacks, and use cases of trees to represent data
- A tree implementation in Python
- Common operations performed on trees
- Examples of coding questions that involve trees
This class is meant for those with some background in a programming language, though Python will be used for examples. Attendees with knowledge of another language should be able to grasp the concepts covered, and some attendees with enough math background but limited or no programming knowledge may be able to understand the class as well, at least on a conceptual level.