알고리즘 문제를 풀면서 접했던 문제 중 하나로 순서가 정해지지 않은(정렬되지 않은) 방대한 데이터를 입력 받아 특정 구간에서의 최솟값을 구하는 문제가 있었다. 하나씩 모두 비교하는 방법을 사용하는 건 구현은 간단하지만, 전체 구간에 대한 최솟값을 구하는 경우 O(N)의 시간 복잡도를 갖게 되고, 거기에 이러한 쿼리가 최대 M회 실시된다고 하면 O(NM)이며, 쿼리가 N에 근접하는 문제의 경우 O(N^2)의 시간 복잡도로 실행 시간 초과가 발생할 수 있다. 구간별 최솟값을 구해두고 쿼리에 대응하는 방법을 고안해도, 최초 구성 단계에서의 시간 복잡도의 문제가 있고, 내용을 바꾸는 쿼리가 존재한다면 재구성하는 과정에서 시간 투자가 필요하기 때문에, 아무래도 기존의 단순 비교 방식을 이용한 구간 내 최솟값 산출..