처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / 알고리즘 / 문제

자료구조에서 '스파스 테이블(Sparse Table)'의 특징으로 올바른 것은?

어려움 freeCodeCamp
보기 및 정답
A O(n log n) 전처리 후, 정적 배열의 구간 최솟값(RMQ) 쿼리를 O(1)에 응답한다
B 희소 행렬(sparse matrix)의 0이 아닌 원소만 효율적으로 저장하는 행렬 전용 자료구조이다
C 해시 함수의 충돌률을 최소화하기 위해 테이블 크기를 동적으로 조절하는 해시 테이블이다
D 데이터가 적은 테이블에서 빈 공간을 압축하여 메모리 사용량을 절감하는 저장 기법이다

해설

스파스 테이블은 배열의 각 위치에서 길이 2^k인 구간의 최솟값(또는 GCD)을 미리 계산하여 저장합니다. 이후 임의 구간 [l, r]의 최솟값을 두 개의 중첩 구간으로 덮어 O(1)에 응답합니다. 값 갱신이 불가능하여 정적 데이터에만 적합하며, 세그먼트 트리보다 쿼리가 빠릅니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기