Skip to content

Commit 1e52ba3

Browse files
committed
Added level order traversal, and more nodes in main method
1 parent 0aee19d commit 1e52ba3

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

data_structures/Trees/TreeTraversal.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import java.util.LinkedList;
2+
13
/**
24
*
35
* @author Varun Upadhyay (https://github.com/varunu28)
@@ -9,19 +11,27 @@ public class TreeTraversal {
911
public static void main(String[] args) {
1012
Node tree = new Node(5);
1113
tree.insert(3);
14+
tree.insert(2);
1215
tree.insert(7);
16+
tree.insert(4);
17+
tree.insert(6);
18+
tree.insert(8);
1319

14-
// Prints 3 5 7
15-
tree.printInOrder();
20+
System.out.println("Pre order traversal:");
21+
tree.printPreOrder();
1622
System.out.println();
1723

18-
// Prints 5 3 7
19-
tree.printPreOrder();
24+
System.out.println("In order traversal:");
25+
tree.printInOrder();
2026
System.out.println();
2127

22-
// Prints 3 7 5
28+
System.out.println("Post order traversal:");
2329
tree.printPostOrder();
2430
System.out.println();
31+
32+
System.out.println("Level order traversal:");
33+
tree.printLevelOrder();
34+
System.out.println();
2535
}
2636
}
2737

@@ -88,5 +98,19 @@ public void printPostOrder() {
8898
}
8999
System.out.print(data + " ");
90100
}
91-
}
92101

102+
public void printLevelOrder() {
103+
LinkedList<Node> queue = new LinkedList<>();
104+
queue.add(this);
105+
while (queue.size() > 0) {
106+
Node head = queue.remove();
107+
System.out.print(head.data + " ");
108+
if (head.left != null) {
109+
queue.add(head.left);
110+
}
111+
if (head.right != null) {
112+
queue.add(head.right);
113+
}
114+
}
115+
}
116+
}

0 commit comments

Comments
 (0)