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.