public class BST, Value> { /* =========================== Node structure =========================== */ private class Node { private Key key; private Value val; private Node left; private Node right; public Node(Key key, Value val) { this.key = key; this.val = val; this.left = null; // Optional, because default value is null this.right = null; // Optional, because default value is null } } private Node root; // References the root node of the BST /* ---------------------------------------------- put(key, val): inserts (key,val) into the BST ---------------------------------------------- */ public void put(Key key, Value val) { // Still need to be written } /* ----------------------------------------------------------------- get(key): lookup the key in the BST, return the assoc. value ----------------------------------------------------------------- */ public Value get(Key key) { // Still need to be written } /* ----------------------------------------------------------------- delete(key): delete the entry in the BST that contains key ----------------------------------------------------------------- */ public void delete(Key key) { // Still need to be written } }