Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4b4a3a4

Browse files
tree traversals
1 parent 66cc23a commit 4b4a3a4

File tree

1 file changed

+107
-0
lines changed

1 file changed

+107
-0
lines changed

‎src/DataStructures/BinaryTree.java‎

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,116 @@ public Node(int val) {
1919
public class BinaryTree {
2020
Node root;
2121

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+
}
2263

2364
/**
2465
* calculate height of binary tree - dfs
2566
* */
2667
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("\nPostOrder binary tree traversal :");
129+
postOrder(A);
130+
131+
System.out.println("\nInOrder binary tree traversal : ");
132+
inOrder(A);
133+
}
27134
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /