Bartleby Related Questions Icon
Related questions
Question
Question 1
package chapter07;
public class BSTNode
{
private int info;
private BSTNode left;
private BSTNode right;
public BSTNode(int info)
{
this.info = info;
this.left = null;
this.right = null;
}
public void setInfo(int info)
{
this.info = info;
}
public int getInfo()
{
return this.info;
}
public void setRight(BSTNode right)
{
this.right = right;
}
public BSTNode getRight()
{
return this.right;
}
public void setLeft(BSTNode left)
{
this.left = left;
}
public BSTNode getLeft()
{
return this.left;
}
}
package chapter07;
public class BinarySearchTree
{
protected BSTNode root;
protected boolean success;
public BinarySearchTree()
{
this.root = null;
}
public boolean contains(int value)
{
BSTNode curr = root;
while(curr != null)
{
if(value == curr.getInfo())
{
return true;
}
else if(value < curr.getInfo())
{
curr = curr.getLeft();
}
else
{
curr = curr.getRight();
}
}
return false;
}
public boolean add(int value)
{
root = add(value, root);
return success;
}
private BSTNode add(int value, BSTNode curr)
{
if(curr == null)
{
curr = new BSTNode(value);
success = true;
}
else if(value < curr.getInfo())
{
curr.setLeft(add(value, curr.getLeft()));
}
else if(value > curr.getInfo())
{
curr.setRight(add(value, curr.getRight()));
}
else
{
success = false;
}
return curr;
}
public void preOrder()
{
System.out.print("Pre Order: ");
preOrder(root);
System.out.println();
}
private void preOrder(BSTNode curr)
{
if(curr != null)
{
System.out.print(curr.getInfo() + " ");
preOrder(curr.getLeft());
preOrder(curr.getRight());
}
}
public void inOrder()
{
//Complete this method as required in the homeowrk instructions
}
public void postOrder()
{
//Complete this method as required in the homeowrk instructions
}
public int countLeaves()
{
//Complete this method as required in the homeowrk instructions
}
public int size()
{
//Complete this method as required in the homeowrk instructions
}
public int height()
{
//Complete this method as required in the homeowrk instructions
}
public boolean remove(int target)
{
root = remove(target, root);
return success;
}
private BSTNode remove(int target, BSTNode curr)
{
if(curr == null)
{
success = false;
}
else if(target < curr.getInfo())
{
curr.setLeft(remove(target, curr.getLeft()));
}
else if(target > curr.getInfo())
{
curr.setRight(remove(target, curr.getRight()));
}
else
{
curr = removeNode(curr);
success = true;
}
return curr;
}
private BSTNode removeNode(BSTNode curr)
{
if(curr.getLeft() == null)
{
return curr.getRight();
}
else if(curr.getRight() == null)
{
return curr.getLeft();
}
else
{
int data = getRightMostData(curr.getLeft());
curr.setInfo(data);
curr.setLeft(remove(data, curr.getLeft()));
return curr;
}
}
private int getRightMostData(BSTNode subtree)
{
BSTNode temp = subtree;
while (temp.getRight() != null)
{
temp = temp.getRight();
}
return temp.getInfo();
}
}
Transcribed Image Text:Look for BSTNode.java and BinarySearch Tree.java
BinarySearch Tree.java class contains the methods completed
few additional methods.
You are required to complete the following method
for binarysearchtree.java
and
countLeaves (): The method doesn't take any parameters and returns an
int, the method returns the number of leaves in the Binary Search Tree.
-size(): The method doesn't take any parameters and returns an int, the
method returns the nodes in the Binary Search Tree.
inOrder (): The method doesn't take any parameters and doesn't return
any value, the method displays the values stored in the BST using an In
Order traversal.
postOrder (): The method doesn't take any parameters and doesn't
return any value, the method displays the values stored in the BST using a
Post Order traversal.
height(): The method doesn't take any parameters and returns an int,
the method returns the height of the Binary Search Tree.
Expert Solution
Check MarkThis question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
bartleby
Step by stepSolved in 4 steps with 3 images
Knowledge Booster
Background pattern image
Similar questions
- class Widget: """A class representing a simple Widget === Instance Attributes (the attributes of this class and their types) === name: the name of this Widget (str) cost: the cost of this Widget (int); cost >= 0 === Sample Usage (to help you understand how this class would be used) === >>> my_widget = Widget('Puzzle', 15) >>> my_widget.name 'Puzzle' >>> my_widget.cost 15 >>> my_widget.is_cheap() False >>> your_widget = Widget("Rubik's Cube", 6) >>> your_widget.name "Rubik's Cube" >>> your_widget.cost 6 >>> your_widget.is_cheap() True """ # Add your methods here if __name__ == '__main__': import doctest # Uncomment the line below if you prefer to test your examples with doctest # doctest.testmod()arrow_forwardGiven the following class: class bookType { public: void setBookTitle(string s); //sets the bookTitle to s void setBookISBN(string ISBN); //sets the private member bookISBN to the parameter void setBookPrice(double cost); //sets the private member bookPrice to cost void setCopiesInStock(int noOfCopies); //sets the private member copiesInStock to noOfCopies void printInfo() const; //prints the bookTitle, bookISBN, the bookPrice and the copiesInStock string getBookISBN() const; //returns the bookISBN double getBookPrice() const; //returns the bookPrice int showQuantityInStock() const; //returns the quantity in stock void updateQuantity(int addBooks); // adds addBooks to the quantityInStock, so that the quantity // in stock now has it original value plus the parameter sent to this function private: string bookName; string...arrow_forwardI have the following code: public class Length{ private int feet; private int inches; Length() { feet = inches = 0; } Length(int newFeet, int newInches) { feet = newFeet; inches = newInches; } public int getFeet() { return feet; } public void setFeet(int newFeet) { feet = newFeet; } public int getInches() { return inches; } public void setInches(int newInches) { inches = newInches; } public void add(Length otherLength) { int newFeet = this.feet + otherLength.feet; int newInches = this.inches + otherLength.inches; if(newInches >= 12) { newFeet++; newInches -= 12; } this.setFeet(newFeet); this.setInches(newInches); } public Length subtract(Length otherLength) { if(this.feet > otherLength.feet) { int newFeet = feet - otherLength.feet; int newInches = inches - otherLength.inches;...arrow_forward
- public class Ex08FanTest { public static void main (String[] args){ Ex08Fan fan1= new Ex08Fan(); Ex08Fan fan2= new Ex08Fan(); fan1.setOn(true); fan1.setSpeed(3); fan1.setRadius(10); fan1.setColor("yellow"); fan2.setOn(true); fan2.setSpeed(2); fan2.setRadius(5); fan2.setColor("blue"); fan2.setOn(false); System.out.println("Fan 1:\n" + fan1.toString()); System.out.println("\nFan 2:\n" + fan2.toString()); }}arrow_forwardclass smart { public: void print() const; void set(int, int); int sum(); smart(); smart(int, int); private: int x; int y; int secret(); }; class superSmart: public smart { public: void print() const; void set(int, int, int); int manipulate(); superSmart(); superSmart(int, int, int); private: int z; }; Now answer the following questions: a. Which private members, if any, of smart are public members of superSmart? b. Which members, functions, and/or data of the class smart are directly accessible in class superSmart?arrow_forwardGiven the following class definition: class Point2d { private int x, y; public Point2d () { X = 0; y = 0; } public Point2d (int i, int j) { X = i; y = j; } public void SetX (int i) { x = i; } public void SetY (int j) { y = j; } public int GetX () { return x; public int GetŸ () { return y; } public String toString() { return '[' + x + ", } + y + ']'; } } Use inheritance to create a class, Point3d, with any additional appropriate data and/or functions.arrow_forward
- In C++ class bookType { public: void setBookTitle(string s); //sets the bookTitle to s void setBookISBN(string ISBN); //sets the private member bookISBN to the parameter void setBookPrice(double cost); //sets the private member bookPrice to cost void setQuantityInStock (int noOfCopies); //sets the private member quantityInStock to noOfCopies void printInfo() const; //prints the bookTitle, bookISBN, the bookPrice and the quantityInStock string getBookISBN() const; //returns the bookISBN double getBookPrice() const; //returns the bookPrice int showQuantityInStock() const; //returns the quantityInStock void updateQuantity(int addBooks); //adds addBooks to the quantityInStock, so that the quantity in stock now has it original value plus the parameter sent to this function private: string bookTitle; string bookISBN; double bookPrice; int quantityInStock; }; Write the full function definition for updateQuantity();arrow_forward// This class discounts prices by 10% public class DebugFour4 { public static void main(String args[]) { final double DISCOUNT_RATE = 0.90; int price = 100; double price2 = 100.00; tenPercentOff(price DISCOUNT_RATE); tenPercentOff(price2 DISCOUNT_RATE); } public static void tenPercentOff(int p, final double DISCOUNT_RATE) { double newPrice = p * DISCOUNT_RATE; System.out.println("Ten percent off " + p); System.out.println(" New price is " + newPrice); } public static void tenPercentOff(double p, final double DISCOUNT_RATE) { double newPrice = p * DISCOUNT_RATE; System.out.println"Ten percent off " + p); System.out.println(" New price is " + newprice); } }arrow_forwardPart 1 is already done and here it is public class Point { protected double x; protected double y; public Point() { } public Point(double x, double y) { this.x = x; this.y = y; } public double getX() { return x; } public double getY() { return y; } public void setPoint(Point X){ x = X.x; y = X.y; } void makeCopy(Point x){ setPoint(x); } Point getCopy(){ return this; } public void printPoint(){ System.out.println("["+this.x+", "+this.y+"]"); } @Override public String toString() { return "x-Coordinate is " + x + "and y-coordinate is " + y; } public boolean equals(Point X) {...arrow_forward
- Given the following class: class bookType { public: void setBookTitle(string s); //sets the bookTitle to s void setBookISBN(string ISBN); //sets the private member bookISBN to the parameter void setBookPrice(double cost); //sets the private member bookPrice to cost void setCopiesInStock(int noOfCopies); //sets the private member copiesInStock to noOfCopies void printInfo() const; //prints the bookTitle, bookISBN, the bookPrice and the copiesInStock string getBookISBN() const; //returns the bookISBN double getBookPrice() const; //returns the bookPrice int showQuantityInStock() const; //returns the quantity in stock void updateQuantity(int addBooks); // adds addBooks to the quantityInStock, so that the quantity // in stock now has it original value plus the parameter sent to this function private: string bookName; string...arrow_forwardIncorrect Question 4 Consider public class Species { } // fields private String name; private int population; private double growthRate; // constructor public Species () { } name = "No Name Yet"; population = 0; growthRate = 33.3; Which of the following is the best setter method for the population instance variable? public boolean setPopulation(int newPopulation) { } if (newPopulation>= 0) { } population = newPopulation; return false; } return true; public public void setPopulation (int newPopulation) if (newPopulation>= 0) { } population newPopulation; public void setPopulation (int newPopulation) { population } = newPopulation;arrow_forwardpublic class DesertEvent { private static int eventCount = 0; private String barCode; private String location; private String eventName; private String eventType; private int quantity; private int capacity; private int seatsTaken; public DesertEvent(String eventName, String eventType) { this(eventName, eventType, 0); calcMaximumSeats(eventType); generateBarCode(); } public DesertEvent(String eventName, String eventType, int capacity) { this.eventName = eventName; this.eventType = eventType; this.capacity = capacity; generateBarCode(); eventCount++; } public String getBarCode() { return barCode; } public String getLocation() { return location; } public String getEventName() { return eventName; } public String getEventType() { return eventType; } public int getQuantity() { return quantity; } public void setQuantity(int quantity) { this.quantity = quantity; } public int getCapacity() { return capacity; } public void setCapacity(int capacity) { this.capacity = capacity;...arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios