Question: //Q3.java import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Q3 { // Instance variables for Q3 static Node root; public static void main(String[] args) {

 //Q3.java import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; public class Q3 {// Instance variables for Q3 static Node root; public static void main(String[]args) { // Test code for readTokens char[] letters = {'c','a','o','u','d','n','r','g','p','w','b','r','t'}; System.out.println("Letters:

//Q3.java

import java.util.Arrays; import java.util.LinkedList; import java.util.Queue;

public class Q3 {

// Instance variables for Q3 static Node root;

public static void main(String[] args) {

// Test code for readTokens char[] letters = {'c','a','o','u','d','n','r','g','p','w','b','r','t'}; System.out.println("Letters: " + Arrays.toString(letters));

// Test code for buildTree buildTree(letters);

// Test code for traverseTree System.out.println("Words: "); printTree(root, "");

}

/** * Add letters to ternary tree using a level-order traversal (breadth first search). *

* Take a moment to look over the setup code and implement the while loop. *

    *
  1. Remove a node, curr, from the {@code Queue} and assign it into a temporary variable *
  2. Assign the next three letters to curr's left, center, and right children. *
  3. Add the children into the queue in the same order as above. *

* You can assume that {@code char[] letters} will always contain {@code i * 3 + 1} letters. * * @param letters an array of letters */ static void buildTree(char[] letters) { int index = 0; root = new Node(letters[index++]); Queue nextNode = new LinkedList(); nextNode.add(root); while(index

/** * Traverse the tree using recursion and print the letters contained in * every path from the root to a leaf node. *

* Follow this algorithm: *

    *
  1. If the node specified is null, return immediately. * This is a base case. *
  2. Add the letter contained in the current node * to the answer string. *
  3. Check whether the node is a leaf node (if all children * references are null). *
  4. If all children are null, print the answer string. *
  5. If not, call printTree recursively for the left, center, * and right children, in that order. *
* @param current a reference to the tree node * @param answer a string */ static void printTree(Node current, String answer) { // YOUR CODE HERE

} }

//Node.java

public class Node {

// Letter value, package private

char letter;

// Child nodes (left, center, right)

// Make sure these references are package private (like the letter value, above)

// YOUR CODE HERE

public Node(char letter) {

this.letter = letter;

}

}

thanks!

You have 50 minutes to complete the quiz You CANNOT get help from the outside including friends, enemies, classmates, and cell phones You CAN use all previous programs and the Internet. Getting Started Create a project called Q3 in Eclipse and import TernaryTrees-starter.jar Your directory should now look like this: Q3/ _ Node.java Q3.java Instructions 1. Go to the Node class and finish the Node data structure: The Node class is used to build ternary trees. A ternary tree is very similar to a binary tree, except that it can have up to 3 children: left, center, and right. The rest of the code will be in 03.java 2. Implement the buildTree method The image below shows the tree, with leaf nodes shown as circles

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!