
The following Program in java implements a BST. The BST node (TNode) contains a data part as well as two links to its right and left children.
1. Draw (using paper and pen) the BST that results from the insertion of the values 60,30, 20, 80, 15, 70, 90, 10, 25, 33 (in this order). These values are used by the program
2. Traverse the tree using preorder, inorder and postorder
3. Write the program in c++, follow its steps, then compile and run.
- 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[i]+" to the BST ");
t.insert(x[i]);
}
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 ;
}

Step by stepSolved in 4 steps with 4 images

- (BI). Implement a Red-Black tree with only operation Insert(). Your program should read from a file that contain positive integers and should insert those numbers into the RB tree in that order. Note that the input file will only contain distinct integers. Print your tree by level using positive values for Black color and negative values for Red color. Do not print out null nodes. Format for a node: (, ). For example, the following tree is represented as (12, null) (5, 12) (15, 12) (3, 5) (-10, 5) (13, 15) (17, 15) (-4, 3) (7,-10) (11, -10) (-14, 13) (-6, 7) (-8, 7) 3 4 6 12 10 8 11 13 15 14 17arrow_forwardConsider the following Binary Tree. root A B D E F C G H K If we perform an postorder traversal, which value is displayed FOURT Enter the node's label (A,B,C,D,E,F,G,H,K) in the space provided.arrow_forwardC++ Sketch a left rotation on an AVL. build the following AVL tree: insert 5insert 2insert 7insert 9insert 11 follow the insert algorithm draw out the original tree prior to any rotations-which node breaks the avl condition-label N, R, A, B, C, and the parent of N.-draw out the final tree after any rotationarrow_forward
- Write a Program to display pre-order, post-order and in-order traversal of the following tree.arrow_forward6. Insert a Node with key 51 into the following AVL tree and draw the tree after performing all rotations. 30 50 52 55 1 60arrow_forwardwrite the code fragment to Deleting a Node With One Childarrow_forward
- Draw a binary search tree by inserting the following numbers and determine the predecessor and successor of 10, 1, and 6. numbers to insert {8,1,5,4,9,10,6,3,15}arrow_forwardRead the tree from simple.dnd file and after coloring each branch with a different color write these two trees in tree.phy file.arrow_forwardConstruct a binary search tree from the list of the following keys using inserts: 18 2 9 6 7 4 3 20 16 17 8 12 5 4 The key 18 is the first one that will be inserted into the tree.Draw the final tree and 3 other trees to show the intermediate steps.Do an inorder traversal of the tree. What's the list you get?arrow_forward
- Don't skiparrow_forwardIn java: binary tree Write a method called findTotalParents (, this method will find all the nodes that considered to be parents with any dependency and return the total number of parents. The public method shall not take any parameters, but the private method takes a BNode as a parameter, representing the current root.arrow_forward
- Computer Networking: A Top-Down Approach (7th Edi...Computer EngineeringISBN:9780133594140Author:James Kurose, Keith RossPublisher:PEARSONComputer Organization and Design MIPS Edition, Fi...Computer EngineeringISBN:9780124077263Author:David A. Patterson, John L. HennessyPublisher:Elsevier ScienceNetwork+ Guide to Networks (MindTap Course List)Computer EngineeringISBN:9781337569330Author:Jill West, Tamara Dean, Jean AndrewsPublisher:Cengage Learning
- Concepts of Database ManagementComputer EngineeringISBN:9781337093422Author:Joy L. Starks, Philip J. Pratt, Mary Z. LastPublisher:Cengage LearningPrelude to ProgrammingComputer EngineeringISBN:9780133750423Author:VENIT, StewartPublisher:Pearson EducationSc Business Data Communications and Networking, T...Computer EngineeringISBN:9781119368830Author:FITZGERALDPublisher:WILEY





