Overview
With our snowday Monday, and given that I will be out Thursday and Friday at a conference, we need to plan for the whole week.
This week we leave our study of linear data structures, and begin our study of trees. In this course we will focus specifically on binary trees, which have the wonderfully recursive definition given on the NIST website:
- A binary tree either:
- is empty (no nodes), or
- has a root node, a left binary tree, and a right binary tree.
This is a beautifully recursive definition, and as we will learn, trees are deeply recursive data structures.
Thursday and Friday, February 26th and 27th
Classwork / Homework / Evaluation
I am away at a conference, so I'll leave you with the following reading and programming assignment:
Read Chapter 10: Efficient Binary Trees on pages 298 to 306, and translate the programming example on pages 306 to 311 into a form where it will compile in BDS C and run on our Altair 8800 computers.
You will earn an A for this assignment if:
- You have a commit history showing notes on the assigned readings from both last class and this one.
- You have a commit history showing iterative development of the assigned program.
- You can show me a running version of the program when we meet in class at the beginning of next week.
Tuesday and Wednesday, February 23rd and 24th
Classwork / Homework / Evaluation
We will wait until the beginning of next week to have pairs present their grocery store simulations, and dive right in to our study of trees.
Read and take notes in your git repo on the following sections from our text:
- Section 9.1: Introduction on pages 279 to 280.
- Section 9.2.3: Binary Trees on pages 281 to 285.
- Section 9.2.4: Binary Search Trees on page 285.
- Section 9.2.5: Expression Trees on pages 285 to 286.
- Section 9.4: Traversing a Binary Tree on pages 287 to 290.
These notes will form part of the evaluation you will receive at the beginning of next week. I reserve the right to quiz you on this material upon my return. If we do have a quiz, you will be permitted to use an 8 1/2 by 11 sheet of paper front and back with notes.