ex)
전위순회를 dfs로 출력해보기
해결법
1. 노드 트리 클래스를 만든다.
Node는 data와 lt,그리고 rt를 가지고 있다.
2.
Node root; 를 정의한 후
root.lt ~~~~root.rt.rt 까지 정의해준다.
3.
dfs(root); 돌린다.
4.
DFS(Node root){
if(root==null){
return;
}else{
sysout(root.data);//여기에 쓰면 전위순회
DFS(root.lt);
DFS(root.rt);
}
}
import java.util.*;
class Node {
int data;
Node lt, rt;
public Node(int data) {
this.data=data;
lt=null;
rt=null;
}
}
class Main {
public void DFS(Node root) {
if(root==null) {
return;
}else {
DFS(root.lt);
System.out.print(root.data+" ");
DFS(root.rt);
}
}
public static void main(String[] args){
Main T = new Main();
Node root;
root = new Node(1);
root.lt = new Node(2);
root.rt = new Node(3);
root.lt.lt = new Node(4);
root.lt.rt = new Node(5);
root.rt.lt = new Node(6);
root.rt.rt = new Node(7);
T.DFS(root);
}
}'알고리즘기초 > 기초Dfs,Bfs' 카테고리의 다른 글
| 07. 이진트리 순회(넓이우선탐색 : 레벨탐색) (0) | 2022.09.26 |
|---|---|
| 06. 부분집합구하기(DFS) (0) | 2022.09.26 |
| 4. 피보나치 재귀 (0) | 2022.01.02 |
| 3. 팩토리얼 (0) | 2021.12.30 |
| 2. 이진수출력 (0) | 2021.12.30 |