일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Stack
- greedy
- Method
- two pointers
- geometry
- dynamic programming
- database
- string
- java
- 파이썬
- Binary Search
- SQL
- 코테
- Class
- sorting
- Data Structure
- Math
- 구현
- 자바
- hash table
- simulation
- Binary Tree
- array
- Counting
- implement
- bit manipulation
- Tree
- Number Theory
- Matrix
- 코딩테스트
- Today
- Total
목록graph (4)
코린이의 소소한 공부노트
1. Problem - 주어진 트리에서 두 노드 node1, node2의 최소 공통 조상을 찾아보자. - 최소 공통 조상(Lowest Common Ancestor, LCA)는 특정한 두 노드의 공통된 조상 중 가장 가까운 조상을 말한다. - 이진 트리가 아니어도 적용되는 알고리즘이다. - 다이나믹 프로그래밍을 이용하는 알고리즘이다. 2. Input 1) int[][] graph - graph[i][j]: i는 j의 부모 노드 2) int n - 노드의 개수 3) int node1 4) int node2 3. Output 1) node1과 node2의 최소 공통 조상 4. Explanation 1) 트리에 있는 모든 노드에 대해서 각 노드의 깊이(depth)를 구한다. 2) 모든 노드에 대해서 각 노드의 ..
1. Input 1) int n - 그래프의 노드의 개수 - 노드에는 0번부터 n-1번까지의 번호가 붙어 있다. 2) int[][] edges - edges[i] = [u_i, v_i]. u_i번 노드와 v_i번 노드가 연결되어 있다. 3) int source 4) int destination 2. Output 1) 주어진 그래프에서 source에서 destination으로 가는 경로가 있다면 true, 없다면 false를 반환 3. Constraint 1) 1
1. Problem - 방향 그래프(directed graph)에서 SCC를 찾아보자. - 강한 요소 결합(Strongly Connected Component, SCC)이란 그래프에 있는 노드 중에서 서로 도달이 가능한 노드들의 집합을 말한다. - 쉽게 말하면, 그래프 안에서 사이클을 이루는 노드의 집합이다. - 타잔 알고리즘은 정점에 대해 DFS(깊이 우선 탐색)을 실행하며 SCC를 찾는다. 2. Input 1) int[][] graph - graph[i][j]는 i번 노드에서 j번 노드로 향하는 간선을 뜻한다. 2) static int vertex - 그래프 내에 존재하는 노드의 수를 의미한다. 3. Output 1) SCC의 개수 2) 각 SCC에 속하는 노드의 번호를 출력 4. Example //..