Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Why cant I initialize the binary tree in main? public class TreeNode { //root node Node root; //method to add nodes public void addNode(int key,

Why cant I initialize the binary tree in main?

 public class TreeNode { //root node Node root; //method to add nodes public void addNode(int key, String name) { //initialize new node Node newNode = new Node(key, name); /* * checks to see if its indeed the root element * and if it throw newNode to it */ if(root == null) { root = newNode; } else { /* * else if not the root element * we will create. another node and set root * as the node because we will start with root as we * traverse through our tree */ Node focusNode = root; //Future parent for new node Node parent; while(true) { // is the root because thats where we will start parent = focusNode; //checks to see if the new node should on the left side if(key < focusNode.key) { // if the left child has no children focusNode = focusNode.leftChild; //then place the new node on the left of it if (focusNode == null) { parent.leftChild = newNode; return; } } // If we get here we know our node needs to go on the right else { focusNode = focusNode.rightChild; // if the right child has no children // we create. a new node if(focusNode == null) { //new node placed on the right side parent.rightChild = newNode; return; } } } } } //All nodes are visited in ascending order // Recursin is used to go to one node // and then go to its child nodes and so forth public void inOrderTraverseTree (Node focusNode) { //check to see if there is something in there if(focusNode != null) { //traverse the left node inOrderTraverseTree(focusNode.leftChild); // then we will visit the currently focused on // node because we know that will be the next value // of the lowest value System.out.println(focusNode); //then we traverse the right child inOrderTraverseTree(focusNode.rightChild); } } public static void main(String[] args) { // vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv BinaryTree theTree = new BinaryTree(); // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //adding nodes theTree.addNode(50, "boss"); theTree.addNode(46, "Vice Press"); theTree.addNode(44, "Officer manager"); theTree.addNode(32, "Secretary"); theTree.addNode(34, "Sales Manager"); theTree.addNode(27, "Salesman 1"); theTree.inOrderTraverseTree(theTree.root); } } //How we will setup our different keys class Node{ int key; String name; //reference to each child in the BINARY tree Node leftChild; Node rightChild; //construct Node(int key, String name) { this.key = key; this.name = name; } //not needed but helpful to print out on screen public String toString() { return name + "has a key " + key; } } 

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

Modern Dental Assisting

Authors: Doni Bird, Debbie Robinson

13th Edition

978-0323624855, 0323624855

Students also viewed these Programming questions

Question

Self-regulation and control

Answered: 1 week ago