@@ -19,9 +19,116 @@ public Node(int val) {
19
19
public class BinaryTree {
20
20
Node root ;
21
21
22
+ /**
23
+ * Pre-order - recursive
24
+ * 1. Visit current node
25
+ * 2. Visit left child
26
+ * 3. Visit right child
27
+ * */
28
+ static void preOrder (Node root ) {
29
+ if (null != root ) {
30
+ System .out .printf ("%d " , root .val );
31
+ preOrder (root .left );
32
+ preOrder (root .right );
33
+ }
34
+ }
35
+
36
+ /**
37
+ * Post-order - recursive
38
+ * 1. Visit left child
39
+ * 2. Visit right child
40
+ * 3. Visit current node
41
+ * */
42
+ static void postOrder (Node root ) {
43
+ if (null != root ) {
44
+ postOrder (root .left );
45
+ postOrder (root .right );
46
+ System .out .printf ("%d " , root .val );
47
+ }
48
+ }
49
+
50
+ /**
51
+ * In-order - recursive
52
+ * 1. Visit left child
53
+ * 2. Visit current node
54
+ * 3. Visit right child
55
+ * */
56
+ static void inOrder (Node root ) {
57
+ if (null != root ) {
58
+ inOrder (root .left );
59
+ System .out .printf ("%d " , root .val );
60
+ inOrder (root .right );
61
+ }
62
+ }
22
63
23
64
/**
24
65
* calculate height of binary tree - dfs
25
66
* */
26
67
static int heightOfTree () {return 0 ;}
68
+
69
+ public static void main (String [] args ) {
70
+
71
+ /**
72
+ * 65
73
+ * / \ ---level 1
74
+ * / \
75
+ * / \
76
+ * 25 85 --- level 2
77
+ * / \ / \
78
+ * / \ / \
79
+ * 15 35 75 95 -- level 3
80
+ * / \ / \
81
+ * / \ / \
82
+ * 70 80 90 100 -- level 4
83
+ *
84
+ * PreOrder binary tree traversal :
85
+ * 65 25 15 35 85 75 70 80 95 90 100
86
+ *
87
+ * PostOrder binary tree traversal :
88
+ * 15 35 25 70 80 75 90 100 95 85 65
89
+ *
90
+ * InOrder binary tree traversal :
91
+ * 15 25 35 65 70 75 80 85 90 95 100
92
+ *
93
+ * */
94
+
95
+ // root level 0
96
+ Node A = new Node (65 );
97
+ // Level 1
98
+ Node B = new Node (25 );
99
+ Node C = new Node (85 );
100
+ // Level 2
101
+ Node D = new Node (15 );
102
+ Node E = new Node (35 );
103
+ Node F = new Node (75 );
104
+ Node G = new Node (95 );
105
+ // Level 3
106
+ Node H = new Node (70 );
107
+ Node I = new Node (80 );
108
+ Node J = new Node (90 );
109
+ Node K = new Node (100 );
110
+
111
+ // connect Level 0 and 1
112
+ A .left = B ;
113
+ A .right = C ;
114
+ // connect level 1 and level 2
115
+ B .left = D ;
116
+ B .right = E ;
117
+ C .left = F ;
118
+ C .right = G ;
119
+ // connect level 2 and level 3
120
+ F .left = H ;
121
+ F .right = I ;
122
+ G .left = J ;
123
+ G .right = K ;
124
+
125
+ System .out .println ("PreOrder binary tree traversal :" );
126
+ preOrder (A );
127
+
128
+ System .out .println ("\n PostOrder binary tree traversal :" );
129
+ postOrder (A );
130
+
131
+ System .out .println ("\n InOrder binary tree traversal : " );
132
+ inOrder (A );
133
+ }
27
134
}
0 commit comments