2014-05-21 1 views
0

많은 수의 축 정렬 상자가있는 검색 공간이 있습니다. r-tree와 같은 정상적인 공간 인덱스는 빠르게 하나의 검색 영역과 겹치는 상자 목록을 나에게 줄 것입니다.여러 지역의 쿼리에 대해 2D 공간 인덱스가 최적화되었습니다.

그러나 한 번에 모두 쿼리하려는 잠재적으로 중복되는 검색 영역이 많습니다 (수백 개). 즉, 데이터 구조에있는 모든 객체가이 500 개의 상자 중 하나 이상과 겹치기를 원합니다.

이러한 종류의 쿼리에 최적화 된 데이터 구조가 있습니까?

답변

0

쿼드 키와 자리 표시자를 사용할 수 있습니다. x와 y 좌표를 인터리브하여 쿼드 키를 만들 수 있습니다. 그것은 morton curve a.k.a z curve에서 사용됩니다.

+0

일반적인 범위 검색 데이터 구조를 넘어서 이것이 어떻게 도움이되는지 자세히 설명해 주시겠습니까? – templatetypedef

+0

키의 자리 표시 자 : Abcd * bbcc를 사용할 수 있습니다. – Bytemain

+0

나는 이것이 어떻게 작동하는지 잘 모르겠다 - 다른 데이터 구조에서보다 효율적으로 여러 중첩 범위에서 범위 검색을하는 것이 왜 자리 표시 자에 도움이 될까요? – templatetypedef