Everyone:

Next week, we will begin exploring binary trees and focus on how to represent them, how to traverse them, and how to use divide-and-conquer to solve programming challenges involving binary trees. Additionally, we will spend some time on generators in Python and how they can be used to process binary trees efficiently.

TL;DR

The focus of this reading is binary trees.

Readings

The readings for this week are:

  1. Data Structures Handbook

  2. How to Use Generators and yield in Python

Optional Resources

Here are some additional resources:

  1. Learn DS & Algorithms

  2. Python Generators

Quiz

Once you have completed the readings, answer the following Reading 09 Quiz questions:

Submission

To submit your work, follow the same process outlined in Reading 01:

$ git checkout master                 # Make sure we are in master branch
$ git pull --rebase                   # Make sure we are up-to-date with GitHub

$ git checkout -b reading09           # Create reading09 branch and check it out

$ cd reading09                        # Go into reading09 folder
$ $EDITOR answers.json                # Edit your answers.json file

$ ../.scripts/check.py                # Check reading09 quiz
Checking reading09 quiz ...
      Q1 0.50
      Q2 0.10
      Q3 0.50
      Q4 0.20
      Q5 0.50
      Q6 0.20
      Q7 0.50
      Q8 0.20
      Q9 0.30
   Score 3.00 / 3.00
  Status Success

$ git add answers.json                # Add answers.json to staging area
$ git commit -m "Reading 09: Done"    # Commit work

$ git push -u origin reading09        # Push branch to GitHub

Pull Request

Once you have committed your work and pushed it to GitHub, remember to create a pull request and assign it to the appropriate teaching assistant from the Reading 09 TA List.