<정의>
- 정점이 자신을 포함하여 조상을 따라 거슬러 올라 갈 때 처음 만나는 정점
- 하나의 트리에선 반드시 최소 하나의 공통 조상 존재 (root node)
- 2^i 만큼 탐색시
O(lgn)ex) 7 = 1+2+4 -> 3번
<원리>
- dfs를 이용해 depth 값을 갱신시킨다
- dp에 자신의 부모 노드 정보를 기록한다
- 하나의 노드가 다른 노드와 깊이가 같아질 때까지 점프한다 (2^i)
- 두개의 노드가 같은 노드를 가르킬때까지 점프
- 두 부모가 같다면 LCA가 아니라 공통조상으로 판단하고 바로 밑 자식으로 간다
<활용>
- 두 정점간의 최단 거리 (LCA를 교차로로 간주)
