public class BST<T extends Comparable<T>> { private T datum; private BST<T> left; private BST<T> right; public BST(T datum) { this.datum = datum; left = null; right = null; } public T getDatum() { return datum; // returns the datum of a node } public BST<T> getLeft() { return left; // returns the left subtree } public BST<T> getRight() { return right; // returns the right subtree } public void setLeft(BST<T> tree) { left = tree; } public void setRight(BST<T> tree) { right = tree; } public void insert(T datum) { YOUR_CODE_HERE } public String toString() { String s = "" + datum + ", "; if (left != null) s = s + left.toString(); if (right != null) s = s + right.toString(); return s; } }