전위 순회
class Node{
int data;
Node lt, rt;
public Node(int val) {
data = val;
lt = rt = null;
}
}
public class Solution {
Node root;
public void DFS(Node root){
if(root==null){
return;
} else {
System.out.println(root.data+" "); // 전위순회
DFS(root.lt);
DFS(root.rt);
}
}
public static void main(String[] args) {
Solution tree = new Solution();
tree.root = new Node(1);
tree.root.lt = new Node(2);
tree.root.rt = new Node(3);
tree.root.lt.lt = new Node(4);
tree.root.lt.rt = new Node(5);
tree.root.rt.lt = new Node(6);
tree.root.rt.rt = new Node(7);
tree.DFS(tree.root);
}
}
중위 순회
DFS(root.lt);
System.out.println(root.data+" "); // 중위순회
DFS(root.rt);
후위 순회
DFS(root.lt);
DFS(root.rt);
System.out.println(root.data+" "); // 후위순회
'코딩테스트 > Java' 카테고리의 다른 글
[JAVA] BFS - 이진트리레벨탐색 (0) | 2022.06.29 |
---|---|
[JAVA] DFS - 부분 집합 구하기 (0) | 2022.06.29 |
[JAVA] 정규표현식 - 신규아이디추천 (0) | 2022.06.27 |
[JAVA 인프런 강의] 정렬 - 버블정렬 (0) | 2022.06.27 |
[JAVA 인프런 강의] 정렬 - 선택정렬 (0) | 2022.06.27 |