Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Number Theory
- Stack
- implement
- Matrix
- SQL
- greedy
- 자바
- 코딩테스트
- sorting
- Binary Search
- Data Structure
- Binary Tree
- Method
- simulation
- two pointers
- Counting
- array
- bit manipulation
- string
- Math
- 코테
- Class
- Tree
- dynamic programming
- database
- 구현
- geometry
- java
- hash table
- 파이썬
Archives
- Today
- Total
목록dynamic programmimng (1)
코린이의 소소한 공부노트
최소 공통 조상 알고리즘
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) 모든 노드에 대해서 각 노드의 ..
Back-End/Algorithm
2023. 7. 6. 00:07