2014-11-20 7 views
1

2 차원 경계 상자 목록을 반복하고 지정된 2d 지점을 포함하는 함수를 찾습니다. 불행히도 이것은 매우 느리기 때문에 어떤 종류의 트리 구조를 사용하여 최적화 할 방법을 찾고있었습니다.주어진 지점과 교차하는 모든 경계 상자 찾기 (트리 구조 사용)

상자 안에 포인트를 찾는 데 많은 의문점이 있었지만 한 지점에서 상자를 찾는 데는 아무런 문제가 없었습니다. 교차로를 만드는 방법을 알고 있으므로 관심있는 나무 구조 일뿐입니다. 쿼드 트리가 적합 할 수도 있다고 생각했지만 다른 노드에 경계 상자를 복제하는 방법을 잘 모릅니다.

x 및 y 축을 재귀 적으로 분할하는 (예 : 중앙값 잘라 내기) 일종의 이진 검색 트리를 사용하는 것이 가장 좋습니까?

+0

할 것, 그것은 너무 'didn를 내 첫 번째 질문 (25 슬라이드) :

다음 슬라이드에서보세요 실현하지 마라! – LoweredTone

답변

0

세그먼트 트리를 사용하는 것이 좋습니다. 당신이 특히 더 높은 차원에서 찔러 쿼리에 대한 해결책을 찾고

http://algo.kaust.edu.sa/Documents/cs372l07.pdf

+1

감사합니다. 바운딩 박스 검색에 이상적입니다. 오버랩을 잘 처리하고 이진 검색 속도가 있습니다. – LoweredTone