DFS (깊이 우선 탐색)
·
알고리즘
DFS (Depth-First Search 깊이 우선 탐색)는 그래프나 트리에서 노드를 탐색하는 알고리즘 중의 하나이다. 이 방법은 가능한 깊게 노드를 탐색한 뒤, 더 이상 갈 수 없으면 되돌아가서 다른 노드를 탐색하는 방식이다. 보통 재귀함수의 형태나 Stack 자료 구조를 이용하여 문제를 해결한다.  [동작 원리]시작 노드를 선택한다선택한 노드의 인접 노드를 순차적으로 깊게 탐색한다. 더 이상 탐색할 노드가 없으면, 가장 마지막에 방문했던 노드로 돌아가서 다른 노드를 탐색한다. 이 과정을 반복하면서 모든 노드를 탐색한다. 단, 한번 방문한 노드는 또 방문해도 적지 않는다.  예를 들어 아래와  같은 그래프가 있다면,  A - B - D - E - C - F - G   순서로 노드를 탐색할 수 있다. ..
백준 - 2751 (수 정렬하기 2)
·
알고리즘
import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.Arrays;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] arr = new int[n]; for (int i = 0; i
백준 - 11004 (K번째 수)
·
알고리즘
[내장메서드를 이용한 정렬]import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Comparator;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st1 = new Str..
백준 - 2750 (수 정렬하기)
·
알고리즘
[내가 한 문제 풀이]package algorithm_practical;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int line = sc.nextInt(); // 입력받을 숫자의 개수 int[] a = new int[line]; // 배열에 숫자 입력 for (int i = 0; i   [버블정렬을 이용한 문제 풀이] import java.util.Scanner;public class Main { public static void main(String[] ..
해니01_15
'알고리즘' 카테고리의 글 목록