kjp0411 님의 블로그

트리 - 세그먼트 트리 본문

Coding Test/Python

트리 - 세그먼트 트리

kjp0411 2025. 10. 1. 21:47

주어진 데이터의 구간 합과 데이터 업데이트를 빠르게 수행하기 위해 고안해 낸 자료구조 형태가 세그먼트 트리입니다.

 

세그먼트 트리의 핵심 이론

세그먼트 트리의 종류는 구간 합, 최대·최소 구하기로 나눌 수 있습니다.

구현 단계는 트리 초기화하기, 질의값 구하기(구간 합, 최대·최소 구하기), 데이터 업데이트하기로 나눌 수 있습니다.

 

1. 트리 초기화하기

리프 노드의 개수가 데이터의 개수(N) 이상이 되도록 트리 리스트를 만듭니다.

트리 리스트의 크기를 구하는 방법은 2^k >= N을 만족하는 k의 최솟값을 구한 후 2^k * 2를 트리 리스트의 크기로 정의합니다.

 

 

2. 질의값 구하기

3. 데이터 업데이트하기

'Coding Test > Python' 카테고리의 다른 글

조합 - 조합 알아보기  (0) 2025.10.06
트리 - 최소 공통 조상  (0) 2025.10.03
트리 - 이진 트리  (0) 2025.10.01
트리 - 트리 알아보기, 트라이  (0) 2025.09.30
그래프 - 최소 신장 트리  (0) 2025.09.29