D:\CurrentProjects\SearsInterviewCode\src\java\binary_tree_traverse\SameTreeTraverse.java |
1
2
3
4
5
6 package binary_tree_traverse;
7
8 import java.util.Queue;
9 import java.util.LinkedList;
10
11
12
13 @author
14
15 public class SameTreeTraverse
16 {
17 public SameTreeTraverse()
18 {
19
20 }
21
22
23 public static void preorder(SamNode n)
24 {
25 if (n != null)
26 {
27 System.out.print(n.node_ID + " ");
28 preorder(n.getLeft());
29 preorder(n.getRight());
30 }
31 }
32
33
34 public static void inorder(SamNode n)
35 {
36 if (n != null)
37 {
38 inorder(n.getLeft());
39 System.out.print(n.node_ID + " ");
40 inorder(n.getRight());
41 }
42 }
43
44
45 public static void postorder(SamNode n)
46 {
47 if (n != null)
48 {
49 postorder(n.getLeft());
50 postorder(n.getRight());
51 System.out.print(n.node_ID + " ");
52 }
53 }
54
55
56 public static void levelorder(SamNode n)
57 {
58 Queue<SamNode> nodequeue = new LinkedList<SamNode>();
59
60 if (n != null)
61 nodequeue.add(n);
62
63 while (!nodequeue.isEmpty())
64 {
65 SamNode next = nodequeue.remove();
66 System.out.print(next.node_ID + " ");
67 if (next.getLeft() != null)
68 {
69 nodequeue.add(next.getLeft());
70 }
71 if (next.getRight() != null)
72 {
73 nodequeue.add(next.getRight());
74 }
75 }
76 }
77
78
79 public static void main(final String[] args)
80 {
81 SamNode one = new SamNode(1);
82 SamNode two = new SamNode(2);
83 SamNode three = new SamNode(3);
84 SamNode four = new SamNode(4);
85 SamNode five = new SamNode(5);
86 SamNode six = new SamNode(6);
87 SamNode seven = new SamNode(7);
88 SamNode eight = new SamNode(8);
89 SamNode nine = new SamNode(9);
90
91 one.setLeft(two);
92 one.setRight(three);
93 two.setLeft(four);
94 two.setRight(five);
95 three.setLeft(six);
96 four.setLeft(seven);
97 six.setLeft(eight);
98 six.setRight(nine);
99
100 System.out.println("============== Start ========================\n");
101 System.out.println("============== preorder -Left ========================");
102 preorder(one);
103 System.out.println();
104
105 System.out.println("============== inorder ========================");
106 inorder(one);
107 System.out.println();
108
109 System.out.println("============== postorder - Right ========================");
110 postorder(one);
111 System.out.println();
112
113 System.out.println("============== levelorder ========================");
114 levelorder(one);
115 System.out.println("\n============== end ========================");
116
117 }
118 }
119