diff --git a/TreeTraversals.java b/TreeTraversals.java new file mode 100644 index 0000000..18c4349 --- /dev/null +++ b/TreeTraversals.java @@ -0,0 +1,92 @@ +class Node{ + int key; + Node left; + Node right; + + public Node(int key){ + this.key = key; + this.left = null; + this.right = null; + } +} + +class BinaryTree{ + public void InOrderTraversal(Node root){ + if(root == null){ + return; + } + + InOrderTraversal(root.left); + + System.out.print(root.key + " "); + + InOrderTraversal(root.right); + } + + public void PreOrderTraversal(Node root){ + if(root == null){ + return; + } + + System.out.print(root.key + " "); + + PreOrderTraversal(root.left); + + PreOrderTraversal(root.right); + } + + public void PostOrderTraversal(Node root){ + if(root == null){ + return; + } + + PostOrderTraversal(root.left); + + PostOrderTraversal(root.right); + + System.out.print(root.key + " "); + } +} + +public class TreeTraversals { + public static void main(String[] args) { + Node root = new Node(3); + + root.left = new Node(2); + + root.left.left = new Node(1); + + root.right = new Node(4); + + root.right.right = new Node(5); + + /* + + 3 + / \ + 2 4 + / \ + 1 5 + */ + + BinaryTree bt = new BinaryTree(); + + System.out.print("InOrderTraversal of the Binary Tree : "); + + bt.InOrderTraversal(root); + + System.out.println(""); + + System.out.print("PreOrderTraversal of the Binary Tree : "); + + bt.PreOrderTraversal(root); + + System.out.println(""); + + System.out.print("PostOrderTraversal of the Binary Tree : "); + + bt.PostOrderTraversal(root); + + System.out.println(""); + } +}