Question
A Easy Java Question Implement the isBST() and isBalanced() methods in the BinaryTree class. import java.util.List; public class BinaryTree { private BinaryTree left; private BinaryTree
A Easy Java Question
Implement the isBST() and isBalanced() methods in the BinaryTree class.
import java.util.List;
public class BinaryTree
public BinaryTree(T data) { this.data = data; }
public T getData() { return data; }
public void setLeft(BinaryTree
public void setRight(BinaryTree
public BinaryTree
public BinaryTree
/* @description This method recursively checks if the binary tree is a BST. * The data implements the Comparable interface, so you can compare the * data in the nodes. For example, to compare the data in the left child * of the current node to this node, use the expression * left.data.compareTo(this.data) * Which returns < 0 if the left.data precedes this.data * returns 0 if left.data == this.data * returns > 0 if left.data lexically follows this.data * @return true if and only if the tree is a BST */ public boolean isBST() { // WRITE CODE HERE }
/* @description This method recursively checks if the binary tree is balanced. * A binary tree is balanced if the left and right subtrees are balanced and * if the difference in sizes of the left and right subtrees is less than or * equal to 1. * Note: You may assume that getSize() was called prior to this method and that * each node in the tree stores the size of the subtree of which it is the root. * @return true if and only if the tree is balanced */ public boolean isBalanced() { // WRITE CODE HERE }
/* @description This method recursively computes the size of the binary tree * @return an integer >= 1 equal to the number of nodes in the binary tree * rooted at this node. */ public int getSize() { size = 1; if (left != null) { size += left.getSize(); } if (right != null) { size += right.getSize(); } return size; }
/* @description This method recursively computes the height of the binary tree * @return an integer >= 0 equal to the height of the binary tree * rooted at this node. */ public int getHeight() { int height = 0; if (left != null) { height = left.getHeight(); } if (right != null) { height = Math.max(height, right.getHeight()); } return height; }
/* @description This method recursively appends all data stored in this * binary tree using an inorder traversal * @param a List
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started