본문 바로가기

728x90

알고리즘

(5)
[알고리즘/C] 미로찾기 경로탐색 (2차원 행렬 DFS: Depth First Search) ★ 이 미로찾기 경로탐색은 격자판에서 길찾기 알고리즘을 알아보는 2차원 행렬 DFS입니다. 방향 그래프상의 길찾기 알고리즘인 그래프 DFS는 아래 링크에서 확인바랍니다. ★ 또한 인접행렬과 경로탐색의 기초에 대해서도 아래 링크를 참고해주시기 바랍니다. 2022.12.05 - [Lang/알고리즘] - [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노 siku314...
[알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노드 3으로 연결되었고, 노드 1은 노드 4로 연결되었고, 노드 2는 노드 4로 연결되었고, 노드 3은 노드 4로 연결되었고, 노드 4는 노드 5로 연결되어있습니다. 이 것을 행렬로 표현하면 행의 1,2,3,4,5는 출발 노드로 열의 1,2,3,4,5는 도착 노드로 하여 다음과 같습니다. 0은 연결되지 않았음 1은 연결되었음을 표현합니다. 1행 2열은 노드 1에서 노드 2로 연결되었음을, 1행 3열은 1에서 3으로 연결되었음을, 1행 4열은 1에서 4로 연결되었음을, 2행 4열은 2에서 4로 연결..
[알고리즘/C++] 합병 정렬 Merge Sort # 문제 설명 n 개의 자연수 배열을 병합 정렬을 이용해 오름차순으로 정렬한다. # 입출력 예 입력 출력 8 7 6 3 1 5 2 4 8 1 2 3 4 5 6 7 8 # 문제 풀이 #include using namespace std; int arr[101], tmp[101]; void d(int left, int right){ int mid; int p1, p2, p3; if(left
[알고리즘/C++] 부분집합 구하기 - 이진트리 완전탐색 (DFS) # 문제 설명 자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력하는 프로그램을 작성하세요. # 제한사항 1
[알고리즘/C++] 구슬을 나누는 경우의 수 # 문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. # 제한사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls # 입출력 예 baslls share result 3 2 3 5 3 10 # 힌트 서로 다은 n개 중 m개를 뽑는 경우의 수 공식 # 문제 풀이 #include #include #include // balls가 30이고 share가 15이면..

728x90