Binary Search Trees - Recursively

Individual Post-Class Exercises
  1. Lesson Setup

    1. Start-of-lecture Slides   (Required)

    2. 'Starter' project for the lesson 08 PCEs
      Note: Please do copy code from your prior lessons and paste it into this lesson, whenever you can reuse useful code.
      NOTE: There ARE unit tests for this lesson, and your code must pass them
    3. Please use this link to access the repo with the 'Starter' project for lesson 08 PCEs (VS 2017/2019)
      Note: Please do copy code from your prior lessons and paste it into this lesson, whenever you can reuse useful code.
      NOTE: There ARE unit tests for this lesson, and your code must pass them
    4. Watch the online videos for this lesson and demonstrate your knowledge (Hand-In)
      You can download a .ZIP of all the videos for this lesson from Microsoft's OneDrive website by opening the folder (click this link to open the folder), then clicking on the "Download" menu item.

  1. BST: Traversing All Nodes In The Tree

    1. VIDEO:
      OneDrive: BST: Print
      DropBox: BST: Print
    2. Exercise: BST: Print  (coded in C#, using recursion) (Hand-In)
      THIS IS BST IS SLIGHTLY DIFFERENT THAN THE ONE FROM THE PRIOR LESSON -  Make sure that your Student_Answers.cs code compiles with this new project!
    3. VIDEO:
      OneDrive: BST: Patterns
      DropBox: BST: Patterns
  2. BST: Using Recursion

    1. Exercise: BST: Recursive Find (Hand-In)
    2. VIDEO:
      OneDrive: BST: Recursive Add
      DropBox: BST: Recursive Add
    3. Exercise: BST: Recursive Add (Hand-In)
      THIS IS BST IS SLIGHTLY DIFFERENT THAN THE ONE FROM THE PRIOR LESSON -  Make sure that your Student_Answers.cs code compiles with this new project!
  3. BST: Most Challenging Exercises

    1. Exercise: BST:Print Beneath Node
    2. Exercise: BST: PrintIterative (coded in C#, using iteration) (Very optional)
      Note: This is extremely-challenging.  Try it briefly, give it some thought, but don't spend more than 20-30 minutes thinking about this.  If we have time, we'll look at this in more detail in class.
  4. Last Steps

    1. Hand in your work:
      Starting with this lesson you must hand in your work via GitHub.

      1. Don't forget to commit your Viewing Quiz/Video Outline to your repo on GitHub.com
        Since you're handing in all your work through git/GitHub this week you'll need to add your Viewing Quiz/Video Outline to your GitHub repo.
        You can do this through Visual Studio (and then push it) or through GitHub.com directly - as long as it gets handed in either way is fine

      2. Create and commit a file which tells me your name
        Please create a text file in Visual Studio (or NotePad/Text Editor/etc) and please name the file LASTNAME, FIRSTNAME.txt, where LASTNAME is replaced with your last name and FIRSTNAME is replaced with your first name (based on how you registered at Cascadia).
        This will enable me to know who you are even if it's not clear from your GitHub username.

      3. You do NOT need to hand in an INSTRUCTORFEEDBACK.docx file when handing in work via GitHub.
        It doesn't hurt if you do so feel free to do so if you'd like to.
        I'm going to ignore any that are there.

    2. Make sure that you're working on the next homework assignment.
      Details are listed on the
      homework assignment page.
      The due date is listed on the main page.
    3. Practice what you've learned
      Remember that in order to really learn this stuff you're going to need to practice it.  Go back and redo the exercises from this lesson until you've really got it down.  Go back to the prior lesson(s) and review and redo that.  Make sure that you've really got this stuff in your head (and remember that it gets easier each time you redo the work)!
In-Class Materials:

These materials are used by students in the hybrid class during leture time.  Online students can safely ignore everything in this 'In Class Materials' box.

In-Class Materials:

Instructor's Materials:

  • Notes

Videos recorded during class (of the In-Class Exercises):