- Compare the results to what you obtained in (2) above. - Try different values class TestBST { public static void main(

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899604
Joined: Mon Aug 02, 2021 8:13 am

- Compare the results to what you obtained in (2) above. - Try different values class TestBST { public static void main(

Post by answerhappygod »

- Compare the results to what you obtained in (2) above.
- Try different values
class TestBST
{
public static void main(String []args)
{
int i;
int x[] = {60,30, 20, 80, 15, 70, 90, 10, 25, 33};
BST t = new BST();
for (i=0; i < 10; i++)
{
System.out.print(" Adding: "+x+" to the BST ");
t.insert(x);
}
System.out.println("\nPreorder traversal result:");
t.preorder(t.root);
System.out.println("\nInorder traversal result:");
t.inorder(t.root);
System.out.println("\nPostorder traversal result:");
t.postorder(t.root);
}
}
class TNode
{
TNode()
{ data = 0; left = null; right = null;}
TNode(int d)
{ data = d; left = null; right = null;}
public int getData()
{ return data;}
public TNode getRight()
{ return right; }
public TNode getLeft()
{ return left; }
public void setRight(TNode tn)
{ right = tn; }
public void setLeft(TNode tn)
{ left = tn; }
private int data;
private TNode right = null, left = null;
}
class BST
{
public BST() { root = null;}
public boolean empty() { return (root == null); }
public int getRoot() { return root.getData();}
public void insert(int d)
{
TNode newNode = new TNode(d);
if (empty())
{
root = newNode;
return;
}
TNode temp = root, parent = root;
int direction = 0; // 0 left 1 right
while (temp != null)
{
parent = temp;
if (d > temp.getData())
{
temp = temp.getRight();
direction = 1;
}
else
{
temp = temp.getLeft();
direction = 0;
}
}
if (direction == 0)
parent.setLeft(newNode);
else
parent.setRight(newNode);
}
void visit(TNode t)
{
System.out.print(" "+t.getData()+" ");
}
void inorder (TNode r) //yields ordered sequence
{
if (r !=null)
{
inorder(r.getLeft()); // L
visit(r); // V
inorder(r.getRight()); // R
}
}
void preorder(TNode r)
{
if (r != null)
{
visit(r); // V
preorder(r.getLeft()); // L
preorder(r.getRight()); // R
}
}
void postorder(TNode r)
{
if (r != null)
{
postorder(r.getLeft()); // L
postorder(r.getRight()); // R
visit (r); // V
}
}
public TNode root = null ;
}
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply