Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

//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) {

image text in transcribedimage text in transcribedimage text in transcribed

//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

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

The Manga Guide To Databases

Authors: Mana Takahashi, Shoko Azuma, Co Ltd Trend

1st Edition

1593271905, 978-1593271909

More Books

Students also viewed these Databases questions