쿼드 트리 뒤집기(난이도 - 하)
·
알고리즘 (with JAVA)/분할 정복 알고리즘
1. 문제 설명 (1) 대량의 좌표 데이터를 메모리 안에 압축해 저장하기 위해 사용하는 여러 기법 중 쿼드 트리(quad tree)가 있습니다. (2) 쿼드 트리는 주어진 공간을 4개로 항상 분할해 재귀적으로 표현하며, (2^N) X (2^N) 크기를 가집니다. (3) 쿼드 트리는 흑백 그림을 다음과 같은 과정을 거쳐 문자열로 압축합니다. - 이 그림의 픽셀이 모두 검은색이라면, 압축 결과는 b가 됩니다. - 이 그림의 픽셀이 모두 흰색이라면, 압축 결과는 w가 됩니다. - 모든 픽셀이 같은 색이 아니라면, 압축 결과는 x가 됩니다. - 이때, x는 하위 자식을 가질 수 있으며 아래와 같이 표현될 수 있습니다. (왼쪽 위 부분의 압축 결과)(오른쪽 위 부분의 압축 결과) (왼쪽 아래 부분의 압축 결과)(..