일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- opencv
- BFS
- SIFT
- 그래프 이론
- 딥러닝
- object detection
- clustering
- sklearn
- AlexNet
- edge detection
- canny edge detection
- 인공지능
- MinHeap
- image processing
- dynamic programming
- Reinforcement Learning
- TD
- MySQL
- IN
- 백준
- Python
- 머신러닝
- 강화학습
- exists
- dfs
- classification
- Mask Processing
- machine learning
- DP
- C++
- Today
- Total
목록2024/05/25 (2)
JINWOOJUNG
접근법 가장 기본적인 BFS/DFS 문제 중 하나이다. 이번 포스팅에서는 BFS에 대하여 알아보고, BFS 방식으로 풀어볼 것이다. 물론, DFS로 풀어도 상관없다. BFS(Breadth First Search)BFS는 너비 우선 탐색 방법이다. 순서는 다음과 같다. 1. 시작 노드 StartNode 방문.2. 노드 StartNode에 인접한 정점 중 방문하지 않은 정점에 대하여 모두 Queue에 저장3. Queue에서 정점을 삭제하면서 새로운 StartNode를 설정하고, 단계(1)을 수행4. Queue가 Empty 상태이면 종료 이에 대한 수도코드는 다음과 같다. 수도코드 기반으로 그대로 구현하면 된다. 3번 과정에서 Queue에 저장한 노드들에 대하여 단계 1을 반복하므로 while문으로 반복 중..
금일은 다익스트라 알고리즘에 대하여 자세히 알아보자. 다익스트라 알고리즘은 Dynamic Programming을 활용한 최단 경로 탐색 알고리즘이다. 다익스트라를 DP를 활용하여 접근할 수 있는 이유는 최단 경로는 각각의 최단 경로를 포함하고 있기 때문이다. 따라서 이전까지 계산해 둔 최단 경로를 사용하여 하나의 최단 거리를 구한다. 기본적은 다익스트라 알고리즘의 프로세스는 다음과 같다. 1. 출발 노드 설정 2. 출발 노드를 기준으로 각 노드의 최소 비용 저장3. 방문하지 않은 노드 중 최소 비용 노드 설정4. 해당 노드를 경유해서 특정한 노드로 가는 경우를 고려해 최소 비용 갱신5. 2~4번 과정 반복 위와 같은 그래프가 주어졌다고 하자. 각 노드사이로 연결 된 간선은 비용을 의미한다. 각 문제에 ..