29 Apr PMCA Sunday 12:00 Java Homework 20.04.26.
Continue with the node in the previous class and write the method
In the class Tree.java to delete a node from the tree.
Please find the code below:
Driver.java
import java.util.Arrays;
public class Driver {
public static void main(String[] args) {
// TODO Auto-generated method stub
Tree t=new Tree();
Node one=new Node(5);
t.insertToBinarySearchTree(one);
Node two=new Node(8);
t.insertToBinarySearchTree(two);
Node three=new Node(2);
t.insertToBinarySearchTree(three);
t.printTree(1);
// test code to delete a node
t.deleteNode(5);
t.printTree(1);
}
}
Tree.java
public class Tree {
Node parentNode=null;
/*
* Method to print the tree
* if the type is 1 than it will do preordertraversal
* if type is 2 than it will do postordertraveral
* if type is 3 than it will do inorderTraversal
* */
public void printTree(int type) {
if(type==1) {
preOrderTraversal(parentNode);
}
else if(type==2) {
postOrderTraversal(parentNode);
}
else {
inorderTraversal(parentNode);
}
}
public void preOrderTraversal(Node currentNode) {
if(currentNode==null) {
return;
}
System.out.println(currentNode.number);
preOrderTraversal(currentNode.LeftChild);
preOrderTraversal(currentNode.RightChild);
}
// copy it
public void postOrderTraversal(Node currentNode) {
if(currentNode==null) {
return;
}
postOrderTraversal(currentNode.LeftChild);
postOrderTraversal(currentNode.RightChild);
System.out.println(currentNode.number);
}
public void inorderTraversal(Node currentNode) {
if(currentNode==null) {
return;
}
inorderTraversal(currentNode.LeftChild);
System.out.println(currentNode.number);
inorderTraversal(currentNode.RightChild);
}
// driver function to insertToBinarySearchTree
public void insertToBinarySearchTree(Node node) {
if(parentNode==null) {
parentNode=node;
}
else {
insertNode(node,parentNode);
}
}
// code to insertNode to the tree
private void insertNode(Node node,Node currentNode) {
if(currentNode.number<node.number ) {
if(currentNode.RightChild==null) {
currentNode.RightChild=node;
return;
}
else {
insertNode(node, currentNode.RightChild);
}
}
else {
if(currentNode.LeftChild==null) {
currentNode.LeftChild=node;
return ;
}
else {
insertNode(node,currentNode.LeftChild);
}
}
}
// write the code to delete a node from Binary search tree
public static void deleteNode(int number) {
//find the node with the number and delete the node
//write the code here
}
}
Node.java
public class Node {
int number;
Node LeftChild;
Node RightChild;
Node Parent;
public Node(int number) {
this.number=number;
}
}
Sorry, the comment form is closed at this time.