I\'m trying to create a removemax method for my binary search tree. /** * * @aut
ID: 3575000 • Letter: I
Question
I'm trying to create a removemax method for my binary search tree.
/**
*
* @author Derrick Mingee
* @version 2.5
*
*/
public class Bst implements BstADT {
private Node root;
public Bst() {
}
public Bst(Node a) {
root = a;
}
public boolean contains(Character val) {
return containsHelper(root, val);
}
private boolean containsHelper(Node a, Character target) {
if (a == null) {
return false;
}
else if (a.data.compareTo(target) == 0) {
return true;
}
else if (a.data.compareTo(target) > 0) {
return containsHelper(a.left, target);
}
else {
return containsHelper(a.right, target);
}
}
public String preorder(){
return "< "+preorderHelper(root);
}
private String preorderHelper(Node a){
if(a!=null){
return a.data+" ";
}
preorderHelper(a.left);
preorderHelper(a.right);
return ">";
}
public void insert(Character a) {
root = insertHelper(root, a);
}
private Node insertHelper(Node a, Character inserted) {
if (a == null) {
return new Node(inserted);
}
if (a.data.compareTo(inserted) > 0) {
a.left = insertHelper(a.left, inserted);
}
else {
a.right = insertHelper(a.right, inserted);
}
return a;
}
public boolean isEmpty() {
return (root == null);
}
public void removeMax() {
}
private void removeMaxHelper(Node a) {
if (a == null) {
throw new RuntimeException("Error");
}
else if (a.right != null) {
removeMaxHelper(a.right);
}
else if (a.right == null) {
a.data=null;
}
}
public String pathTo(Character a){
return pathToHelper(root, a);
}
private String pathToHelper(Node a, Character val) {
if (a == null) {
return "";
}else{
if(a.data.compareTo(val)<0){
return "R"+pathToHelper(a.right, val);
}
else if(a.data.compareTo(val)>0){
return "L"+pathToHelper(a.left, val);
}
else{
return "";
}
}
}
class Node {
Character data;
Node left;
Node right;
public Node(Character data) {
this.data = data;
left = null;
right = null;
}
}
}