This is a Java Swing application which supports the user interface for BinarySearchTree operations like Insert, Delete, min and max values of the tree along with undo operation.
It has two variants. One which doesnt accept duplicates and the other which accepts duplicate values.
This application uses Memento Design Pattern to achieve undo functionality.
Download the project and run TreeGUIDriver to see the results.