Files
CSCI-1200/labs/10_trees_I
2023-10-30 20:49:18 -04:00
..
2023-10-30 20:47:59 -04:00
2023-10-30 20:49:18 -04:00
2023-10-30 20:47:59 -04:00

Lab 10 — Trees, Binary Trees, & Binary Search Trees

Checkpoint 1

estimate: 20-30 minutes

problem 1: Draw a binary tree with 4 levels with the integers 1-7 such that the sum of elements on every level of the tree is the same.

problem 2: Create a exactly balanced binary search tree with 7 color words (order the colors alphabetically).

problem 3: Draw a exactly-balanced binary search tree containing the letters of the word: uncopyrightable

What is the pre-order traversal of the tree above?

problem 4: Now draw a exactly-balanced binary tree of characters such that a post-order traversal spells the word: uncopyrightable

What is the breadth-first traversal of the tree above?

To complete this checkpoint: When you have finished all of the problems, discuss your answers with your lab TA or mentor.

Checkpoint 2

estimate: 20-35 minutes

Now lets explore the implementation of the ds_set class, along with the use of recursive functions to

manipulate binary search trees. Download and examine the files: ds_set.h and test_ds_set.cpp.

The implementation of find provided in ds_set.h is recursive. Re-implement and test a non-recursive replacement for this function.

To complete this checkpoint: Show one of the TAs your new code. Be prepared to discuss the running time for the two different versions of find for various inputs.

Checkpoint 3

estimate: 20-35 minutes

The implementation of the copy constructor and the assignment operator is not yet complete because each depends on a private member function called copy tree, the body of which has not yet been written. Write copy tree and then test to see if it works by “uncommenting” the appropriate code from the main function.

To complete this checkpoint: Show one of the TAs your new code. Be prepared to discuss the running