참고 : 질문에 대한 답변이 다시 정리되었습니다. 이제 시간 에 가장 낮은 형제 조상을 찾을 수 있다고 가정하면 ANN을 실제로 에서 수행 할 수 있습니까?O ( 로그 n )
쿼드 트리는 효율적인 공간 인덱스입니다. [2]에 설명 된 것처럼 압축 된 쿼드 트리 구조에서 가장 가까운 이웃 검색을 구현하는 퍼즐이 있습니다. (세부 사항없이 검색은 등거리 경로의 꼬리 노드에서 끝나는 소위 등거리 사각형을 따라 하향식으로 진행됩니다. 첨부 된 이미지에서 이것은 남동쪽에있는 점으로 채워진 노드 일 수 있습니다.)
알고리즘이 작동하려면 4 개 방향 (북쪽, 서쪽, 남쪽)에서 가장 낮은 (계층 구조에서 가장 가까운) 조상 노드에 대한 포인터를 각 노드 (두 개 이상의 비어 있지 않은 사분면이있는 사각형)마다 유지해야합니다. , 동쪽). 이것들은 노드의 서쪽 조상의 녹색 화살표로 표시됩니다 (화살표는 조상의 광장 중앙을 가리킴).
이 논문은 포인트 삽입 및 삭제 중에 O (1)에서 이러한 포인터를 업데이트 할 수 있다고 주장합니다. 그러나 녹색 점의 삽입을 볼 때 임의의 수의 포인터 (이 경우 6 개)를 업데이트해야합니다.
이 포인터 업데이트를 일정한 시간에 수행하는 트릭을 원합니다. 어쩌면 악용 될 수있는 간접적 인 형태가 있을까요?
편집하다:
논문의 관련 섹션은 6.3이며 다음과 같이 읽습니다. "경로가 구부러진 경우 가장 낮은 조상 이외에도 방향 각각에 대해 가장 낮은 방향을 고려해야합니다 그 방향으로가는 조상 [...] 에서이 제곱을 찾는 것은 우리 가 각 방향에 가장 가까운 조상을 가리키는 각 정사각형에 추가 포인터를 연결하면 제곱 당 시간 으로 수행 할 수 있습니다. 이러한 포인터는 점을 삽입하거나 삭제하는 동안 시간 안에 업데이트 될 수도 있습니다 . "q O ( 1 ) 2 d Q 0 O ( 1 )2 d q
[2] : Eppstein, D. and Goodrich, MT 및 Sun, JZ,“스킵 쿼드 트리 : 다차원 데이터를위한 간단한 동적 데이터 구조”, 전산 기하학에 관한 제 21 회 연례 심포지움 진행, pp. 296-305 2005 년.