logo Practice-It logo

readTree

Related Links:
Author: Robert Baxter

Write a method readTree that accepts a Scanner as a parameter and that replaces the current tree with one constructed from data stored in the Scanner. The format will be the same used in Problem #1 writeTree where a tree has been stored using a pre-order traversal with one line for each node. Each line of input has a code indicating the type of node, followed by the data in the node. The format for each node is a code indicating the type of node (from the table below) followed by the data in the node.

Below the table is a data file stored in the above described format (and being read by a Scanner called input) and the tree referenced by variable tree that a call to tree.readTree(input); would create.

Code NodeType
0 leaf node (no children)
1 branch node with left child only
2 branch node with right child only
3 branch node with left and right children
Input Tree
3 7
1 9
0 5
3 8
2 4
0 9
0 6
          +---+
          | 7 |
          +---+
         /     \
     +---+     +---+
     | 9 |     | 8 |
     +---+     +---+
    /         /     \
+---+     +---+     +---+
| 5 |     | 4 |     | 6 |
+---+     +---+     +---+
               \
               +---+
               | 9 |
               +---+

You may assume that there is at least one line of input, meaning that the tree will have at least one node. Remember that you are creating a tree based on the information in the file.

Assume that you are adding this method to the IntTree class as defined below:

public class IntTree {
    private IntTreeNode overallRoot;
    ...
}
Type your solution here:


This is a partial class problem. Submit code that will become part of an existing Java class as described. You do not need to write the complete class, just the portion described in the problem.

You must log in before you can solve this problem.


Log In

If you do not understand how to solve a problem or why your solution doesn't work, please contact your TA or instructor.
If something seems wrong with the site (errors, slow performance, incorrect problems/tests, etc.), please

Is there a problem? Contact a site administrator.