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

+ Recent posts