728x90
반응형
▷ 문제
아래 그림과 같은 이진트리를 전위순회와 후위순회를 연습해보세요.
전위순회 출력 : 1 2 4 5 3 6 7
중위순회 출력 : 4 2 5 1 6 3 7
후위순회 출력 : 4 5 2 6 7 3 1
▷ 풀이
class Node{
int data; // 루트
Node lt ,rt;
public Node(int val){
data = val;
lt = rt = null;
}
}
public class Main {
Node root;
public void DFS(Node root){
if(root == null){
return;
} else{
// 전위 순회
System.out.print(root.data + " ");
DFS(root.lt);
DFS(root.rt);
// 후위 순회
/* DFS(root.lt);
DFS(root.rt);
System.out.print(root.data + " ");
*/
}
}
public static void main(String[] args){
Main tree = new Main();
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);
}
}
반응형
'Algorithm > DFS, BFS basic - Recursive, Tree, Graph' 카테고리의 다른 글
[알고리즘 문제]이진트리 순회(레벨 탐색) - BFS (0) | 2021.11.05 |
---|---|
[알고리즘 문제]부분집합 구하기 - DFS (0) | 2021.11.05 |
[알고리즘 문제]재귀함수를 이용한 피보나치 수열 출력 - DFS (0) | 2021.11.04 |
[알고리즘 문제]재귀함수를 이용한 팩토리얼 출력 - DFS (0) | 2021.11.04 |
[알고리즘 문제]재귀함수를 이용한 이진수 출력 - DFS (0) | 2021.11.04 |