BST object
BST object
a) Class Student
public Student()
{
id = -1;
name = "";
part = -1;
cgpa = -1.0;
}
b) Class TreeNode
class TreeNode {
// package access members
TreeNode left; //left node
Student data; // data item
TreeNode right; // right node
// Insert a TreeNode into a Tree that contains nodes based on student id.
// Ignore duplicate values.
public void insert( Student d )
{ if ( d.getId() < data.getId() )
{ if ( left == null )
left = new TreeNode( d );
else
left.insert( d );
}
else if ( d.getId() >= data.getId() )
{
if ( right == null )
right = new TreeNode( d );
else
right.insert( d );
}
}
}
c) Class BSTree
class BSTree {
private TreeNode root;
// Construct an empty Tree of integers
public BSTree() { root = null; }
// Insert a new node in the binary search tree.
// If the root node is null, create the root node here.
// Otherwise, call the insert method of class TreeNode.
public void insertNode( Student d )
{
if ( root == null )
root = new TreeNode( d );
else
root.insert( d );
}
BST IMPLEMENTATION CSC248
// Preorder Traversal
public void preorderTraversal()
{ preorderHelper( root ); }
// Recursive method to perform preorder traversal
private void preorderHelper( TreeNode node )
{
if ( node == null )
return;
System.out.println( node.data.toString());
preorderHelper( node.left );
preorderHelper( node.right );
}
// Inorder Traversal
public void inorderTraversal()
{ inorderHelper( root ); }
// Recursive method to perform inorder traversal
private void inorderHelper( TreeNode node )
{
if ( node == null )
return;
inorderHelper( node.left );
System.out.println( node.data.toString());
inorderHelper( node.right );
}
// Postorder Traversal
public void postorderTraversal()
{ postorderHelper( root ); }
// Recursive method to perform postorder traversal
private void postorderHelper( TreeNode node )
{
if ( node == null )
return;
postorderHelper( node.left );
postorderHelper( node.right );
System.out.println( node.data.toString());
}
BST IMPLEMENTATION CSC248
d) Class BSTApp
import javax.swing.JOptionPane;
public class BSTApp
{
public static void main(String [] args)
{
BSTree tree = new BSTree ();