이진트리는 각 노드의 자식 노드(차수)의 개수가 2 이하로 구성돼 있는 트리를 말합니다.
→ 일반적으로 코딩 테스트에서 데이터를 트리에 담는다고 하면 완전 이진 트리의 형태를 떠올리면 된다.
이동 목표 노드 | 인덱스 연산 | 제약 조건(N = 노드 개수) |
---|---|---|
루트 노드 | index = 1 | |
부모 노드 | index = index / 2 | 현재 노드가 루트 노드가 아님 |
왼쪽 자식 노드 | index = index * 2 | index * 2 ≤ N |
오른쪽 자식 노드 | index = index * 2 + 1 | index * 2 + 1 ≤ N |
→ 인덱스 연산 방식은 세그먼트 트리, LCA알고리즘에서도 기본이 되는 연산이다.