Skip to content

Commit c2e1d41

Browse files
committed
add Binary Tree traversal DFS Algorithm
1 parent e514f72 commit c2e1d41

1 file changed

Lines changed: 53 additions & 0 deletions

File tree

  • src/main/java/com/thealgorithms/tree/Binary Tree
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.thealgorithms.tree.BinaryTree;
2+
3+
public class DFS {
4+
5+
// Inorder
6+
void inorder(Node node) {
7+
if (node == null) return;
8+
inorder(node.left);
9+
System.out.print(node.val + " ");
10+
inorder(node.right);
11+
}
12+
13+
// Preorder
14+
void preorder(Node node) {
15+
if (node == null) return;
16+
System.out.print(node.val + " ");
17+
preorder(node.left);
18+
preorder(node.right);
19+
}
20+
21+
// Postorder
22+
void postorder(Node node) {
23+
if (node == null) return;
24+
postorder(node.left);
25+
postorder(node.right);
26+
System.out.print(node.val + " ");
27+
}
28+
29+
public static void main(String[] args) {
30+
BinaryTreeDFS tree = new BinaryTreeDFS();
31+
32+
Node root = new Node(4);
33+
root.left = new Node(2);
34+
root.right = new Node(6);
35+
root.left.left = new Node(1);
36+
root.left.right = new Node(3);
37+
root.right.left = new Node(5);
38+
root.right.right= new Node(7);
39+
40+
System.out.print("Inorder: "); tree.inorder(root); // 1 2 3 4 5 6 7
41+
System.out.print("\nPreorder: "); tree.preorder(root); // 4 2 1 3 6 5 7
42+
System.out.print("\nPostorder: "); tree.postorder(root); // 1 3 2 5 7 6 4
43+
}
44+
}
45+
46+
class Node {
47+
int val;
48+
Node left, right;
49+
50+
Node(int val) {
51+
this.val = val;
52+
}
53+
}

0 commit comments

Comments
 (0)