![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/chsP6Y/btsFGCK7UNY/K02hCyKrZSRTMHe2FoNMM1/img.jpg)
Algorithm 공부 #13 - 그래프(그래프의 표현) 에지 리스트(edge list) ● 에지를 중심으로 그래프를 표현 ● 배열에 출발 노드, 도착 노드를 저장하여 에지를 표현 ● 배열에 출발 노드, 도착 노드, 가중치를 저장하여 가중치가 있는 에지를 표현 인접 행렬(adjacency matrix) ● 2차원 배열을 자료구조를 이용하여 그래프를 표현 ● 노드를 중심으로 그래프를 표현 ● 노드와 관련되어 있는 에지를 탐색하기 위해서는 N번 접근해야 하므로 시간복잡도가 인접 리스트에 비해 느림 ● 노드 개수에 비해 에지가 적을 때는 공간 효율성이 떨어짐 인접 리스트(adjacency list) ● 2차원 벡터로 그래프를 표현 ● 구현은 복잡하나 노드와 연결된 에지를 탐색하는 시간이 뛰어나며, 노드 개수가..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qRUd3/btsFmmwyI0Z/D1IkKUA6bGFJ9JfHXfFYvK/img.jpg)
Algorithm 공부 - 탐색(깊이 우선 탐색과 너비 우선 탐색) 깊이 우선 탐색(Depth-First-Search) ● 그래프 완전 탐색 기법 ● 그래프의 시작 노드에서 출발하여 탐색할 한쪽 분기를 정한 후 최대 깊이까지 탐색을 마친 후 다른 분기로 이동 ● 노드의 개수를 V, 엣지의 개수를 E라 하면 시간 복잡도는 O(V+E) ● 단절점 찾기, 단절선 찾기, 위상 정렬, 사이클 찾기 등의 문제에 활용됨 ● 탐색 방법 1. 인접 리스트로 그래프 표현하기 + 방문 여부를 체크할 배열 만들기 + 스택에 시작 노드 삽입하기 2. 스택에서 노드를 POP한 후 그 노드와 인접 노드 삽입하기, 없다면 다음 노드로 이동 3. 스택 자료구조에 값이 없을 때까지 계속해서 반복 백준 2751번 수 정렬하기2 https..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/RTCom/btss3HYJrUK/J1fX81eph9g0QysQlkAXdk/img.jpg)
백준 10026번 적록색약https://www.acmicpc.net/problem/10026 10026번: 적록색약적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록)www.acmicpc.net 정답 코드#include #include using namespace std; char arr[101][101]; int vis[101][101]; int dx[4] = { 1,0,-1,0 }; int dy[4] = { 0,1,0,-1 }; int four(int a) { queueq; int num = 0; for (int x = 0; x < a; x++) { for..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cfuQgr/btsrTrDtnuj/I5ahSG4CXz5nQD05lUOJ60/img.jpg)
백준 7576번 토마토https://www.acmicpc.net/problem/7576 7576번: 토마토첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토www.acmicpc.net 정답 코드#include #include using namespace std; int arr[1001][1001]; int dis[1001][1001]; int dx[4] = { 1,0,-1,0 }; int dy[4] = { 0,1,0,-1 }; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.ti..
- Total
- Today
- Yesterday
- 유니온 파인드
- 카운팅 정렬
- 알고리즘 공부
- 세그먼트 트리
- BFS
- 자바스크립트
- HTML5
- js
- C++ Stack
- 반복문
- 스택
- 백준
- 에라토스테네스의 체
- 유클리드 호제법
- 스프링 부트 crud 게시판 구현
- CSS
- java
- C++
- DFS
- 이분 매칭
- DP
- 백준 풀이
- 알고리즘
- 투 포인터
- 자바
- c++ string
- 자료구조
- Do it!
- html
- 우선순위 큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |