class Node { int key; Node l, r; public Node(int item) { key = item; l = r = null; } } class Main { Node root; Main() { root = null; } void Postorder(Node node) { if (node == null) return; Postorder(node.l); Postorder(node.r); System.out.print(node.key + " "); } void Inorder(Node node) { if (node == null) return; Inorder(node.l); System.out.print(node.key + " "); Inorder(node.r); } void Preorder(Node node) { if (node == null) return; System.out.print(node.key + " "); Preorder(node.l); Preorder(node.r); } void Postorder() { Postorder(root); } void Inorder() { Inorder(root); } void Preorder() { Preorder(root); } public static void main(String[] args) { Main tree = new Main(); tree.root = new Node(27); tree.root.l = new Node(35); tree.root.r = new Node(16); tree.root.l.l = new Node(22); tree.root.l.r = new Node(30); tree.root.r.l= new Node(11); tree.root.r.r=new Node(72); tree.root.l.l.l=new Node(99); tree.root.l.l.r=new Node(36); tree.root.l.r.l=new Node(34); tree.root.l.r.r=new Node(29); tree.root.r.l.l=new Node(26); tree.root.r.l.r=new Node(21); tree.root.r.r.l=new Node(14); tree.root.r.r.r=new Node(6); System.out.println( "Preorder: "); tree.Preorder(); System.out.println("\nInorder:"); tree.Inorder(); System.out.println("\nPostorder:"); tree.Postorder(); } } The following java code is a binary search tree for the dataset 27 35 16 22 30 11 72 99 36 34 29 26 21 14 6 Using this dataset it will generate a print out the preorder, inorder and postorder traversal of this tree. Now Modify the code to delete the 35 node, and printout the pre order inorder and postorder, before the deletion and then printout the new tree after deletion Your code should be able to run as Main.java
class Node {
int key;
Node l, r;
public Node(int item)
{
key = item;
l = r = null;
}
}
class Main
{
Node root;
Main()
{
root = null;
}
void Postorder(Node node)
{
if (node == null)
return;
Postorder(node.l);
Postorder(node.r);
System.out.print(node.key + " ");
}
void Inorder(Node node)
{
if (node == null)
return;
Inorder(node.l);
System.out.print(node.key + " ");
Inorder(node.r);
}
void Preorder(Node node)
{
if (node == null)
return;
System.out.print(node.key + " ");
Preorder(node.l);
Preorder(node.r);
}
void Postorder()
{
Postorder(root);
}
void Inorder()
{
Inorder(root);
}
void Preorder()
{
Preorder(root);
}
public static void main(String[] args)
{
Main tree = new Main();
tree.root = new Node(27);
tree.root.l = new Node(35);
tree.root.r = new Node(16);
tree.root.l.l = new Node(22);
tree.root.l.r = new Node(30);
tree.root.r.l= new Node(11);
tree.root.r.r=new Node(72);
tree.root.l.l.l=new Node(99);
tree.root.l.l.r=new Node(36);
tree.root.l.r.l=new Node(34);
tree.root.l.r.r=new Node(29);
tree.root.r.l.l=new Node(26);
tree.root.r.l.r=new Node(21);
tree.root.r.r.l=new Node(14);
tree.root.r.r.r=new Node(6);
System.out.println( "Preorder: ");
tree.Preorder();
System.out.println("\nInorder:");
tree.Inorder();
System.out.println("\nPostorder:");
tree.Postorder();
}
}
The following java code is a binary search tree for the dataset
27 35 16 22 30 11 72 99 36 34 29 26 21 14 6
Using this dataset it will generate a print out the preorder, inorder and postorder traversal of this tree.
Now Modify the code to delete the 35 node, and printout the pre order inorder and postorder, before the deletion and then printout the new tree after deletion
Your code should be able to run as Main.java
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images