송아지 찾기 내가짠 코드 #include #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int ch[10000], dis[10000]; int val[] = {1, -1, 5}; int main() { //freopen("input.txt", "rt", stdin); int n, m, i, a, b, x, res, min=2147000000; vector map[10000]; queue Q; scanf("%d %d", &n, &m); Q.push(n); ch[n]=1; while(!Q.empty()){ ..
이진트리 넓이우선탐색(BFS) #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int Q[100], front=-1, back=-1, ch[10]; vector map[10]; int main() { freopen("input.txt", "rt", stdin); int i, a, b, x; for(i=1; i
DFS를 이용해 가중치 방향 그래프가 주어진 것을 보고 N번 정점으로 가는 최소 비용을 출력하는 프로그램을 작성하는 문제이다. 내가 작성한 코드(오답) #include #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int map[30][30], n, m, ch[30], sum, min_val=214700000; void DFS(int v){ int i; if(v==n){ printf("sum: %d\n", sum); if(sum
미로탐색 #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int map[30][30], n, m, ch[30][30], cnt=0; int dx[4]={-1, 0, 1, 0}; int dy[4]={0, 1, 0, -1}; void DFS(int x, int y){ int i, j, xx, yy; if(x==7 && y==7) { cnt++; return; } else { for(i=0; i
특정수 만들기 #include /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; int n, m, ch[11], a[11], cnt=0, sum, total=0; void DFS(int L, int sum){ if(L==n+1) { if(sum==m) { cnt++; return; } } else { DFS(L+1, sum+a[L]); DFS(L+1, sum); DFS(L+1, sum-a[L]); } } int main() { int i; //freopen("input.txt", "rt", stdin); scanf("%d %d", &n, ..
깊이우선탐색은 루트 노드가 어디에 위치하는가에 따라서 세가지로 나뉘어 진다. 전위순회, 중위순회, 후위순회 전위순회 루트노드가 가장 먼저 나오는 방식 루트노드가 가장 먼저 나오고나서 왼쪽부터 노드들을 순회 중위순회 루트노드가 중간에 나오는 방식 노드들의 왼쪽부터 순회하여 루트노드가 중간에 나옴 후위순회 루트노드가 마지막에 나오는 방식 왼쪽노드 -> 오른쪽노드 -> 부모노드 순서로 순회 각각의 예제코드 아래는 트리를 구성하는 코드이다. #include using namespace std; void D(int v){ if(v>7) return; else { D(v*2); D(v*2+1); } } int main() { D(1); return 0; } 위 코드에서는 D라는 재귀함수를 계속적으로 호출하고 있지만..
- Total
- Today
- Yesterday
- javascript
- 알고리즘
- 클래스
- 세마포어
- BFS
- stackframe
- Java
- 인접행렬
- Stack
- react
- client side rendering
- 교착상태
- 이진탐색
- 동적프로그래밍
- dfs
- 자료구조
- 소프트웨어
- server side rendering
- 병행프로세스
- 재귀함수
- C++
- 입출력장치
- 스텍
- 퀵정렬
- 인접리스트
- 배열
- 최단경로
- 운영체제
- C
- 구조체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |