알고리즘

알고리즘

[알고리즘] DFS와 BFS란?

1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS(깊이 우선 탐색) DFS는 깊이 우선 탐색으로 그래프를 탐색하는 방법이다. 탐색 순서는 다음과 같다. 그림을 보면 알겠지만 루트 노드에서부터 제일 깊은 곳을 먼저 찍고 옆으로 이동한다. 구현은 스택과 재귀 함수로 구현한다. 장점 목표하는 노드가 깊이 있을 경우 BFS보다 빠르게 찾을 수 있다. 간단하게 구현할 수 있다. 단점 속도가 BFS보다 느리다. 해가 없는 경로에 깊이 빠질 가능성이 있다. 얻어진 해가 최단 경로..

알고리즘

[알고리즘] 선택 정렬, 버블 정렬, 삽입 정렬, 퀵 정렬의 구현과 차이

선택 정렬 원소를 돌면서 작은 값은 선택하여 앞으로 보낸다. 선택 정렬의 과정은 다음과 같다. 예를 들어 숫자 5, 3, 8, 7, 9, 4, 6, 1, 2, 10으로 이루어져 있다고 가정하면 1) 원소들 중에 작은 값을 먼저 찾아 앞으로 보낸다. 5, 3, 8, 7, 9, 4, 6, 1, 2, 10 -> 1, 5, 3, 8, 7, 9, 4, 6, 2, 10 2) 다음 원소는 남은 숫자들 중 제일 값이 작은 것을 찾아 원소의 자리를 바꾼다. 1, 5, 3, 8, 7, 9, 4, 6, 2, 10 - > 1, 2, 3, 8, 7, 9, 4, 6, 5, 10 이렇게 반복하다 보면 결괏값은 1, 2, 3, 4, 5, 6, 7, 8, 9, 10으로 되었을 것이다. - 소스코드 public class Main { ..

혁키
'알고리즘' 카테고리의 글 목록