커버 트리

Cover tree

표지 트리컴퓨터 공학에서 가장 가까운 이웃의 검색 속도를 높이기 위해 특별히 고안된 데이터 구조의 한 유형이다.그것은 항법망 데이터 구조를 정교하게 다듬은 것이며, 본질적으로 저차원 데이터를 인덱싱하기 위해 개발된 다양한 다른 데이터 구조와 관련이 있다.[1]

트리는 루트 포인트를 포함하는 최상위 수준과 메트릭 공간의 모든 점을 포함하는 하위 수준을 가진 수준의 계층 구조로 생각할 수 있다.각 수준 C는 나무가 하강할 때 1씩 감소하는 정수 값 i와 연관된다.커버 트리의 각 레벨 C에는 다음과 같은 세 가지 중요한 특성이 있다.

  • 중첩:
  • 커버:For every point , there exists a point such that the distance from to is less than or equal to and exactly one such is a parent
  • 분리:모든 포인트 , i 에 대해 에서 까지의 거리는 2보다 크다

복잡성

찾다

다른 메트릭 트리와 마찬가지로 커버 트리는 에서 가장 가까운 인접 검색을 허용하며, 여기서 데이터 집합의 차원성과 연관된 상수이고 n은 카디널리티입니다.비교하자면 기본 선형 검색에는 O () O이 필요하며, 는 n n에 훨씬 더 심하게 의존한다. 그러나고차원 메트릭 공간에서는 상수가 비삼각적이므로 복잡도 분석에서 무시할 수 없다.다른 메트릭 트리와 달리 커버 트리는 데이터 집합의 확장 상수 또는 두 배 상수(추정 NN 검색의 경우)를 기반으로 하는 상수에 이론적으로 바인딩되어 있다.검색 제한 시간은 ) 이며, c (는) 데이터 집합의 확장 상수입니다.

삽입하다

비록 커버 트리가 순진한 접근법보다 더 빠른 검색을 제공하지만, 이러한 이점은 데이터 구조를 유지하는데 드는 추가 비용에 의해 평가되어야 한다.순진한 접근방식에서 데이터 집합에 새로운 점을 추가하는 것은 순전히 순서가 보존될 필요가 없기 때문에 사소한 것이지만 표지 트리에서 ) 시간이 걸릴 수 있다.그러나 이것은 상행선이며, 실제로 성과를 향상시키는 듯한 기법이 일부 구현되었다.[2]

공간

표지 트리는 반복된 점을 추적하기 위해 암묵적 표현을 사용한다.따라서 O(n) 공간만 있으면 된다.

참고 항목

참조

메모들
  1. ^ 케네스 클락슨.가장 가까운 검색 및 메트릭 공간 치수.G. 샤크나로비치, T. 다렐, P. Indyk, 편집자, 학습 및 비전을 위한 가장 가까운 이웃 방법:이론과 실천, 15-59페이지 MIT 출판부, 2006년
  2. ^ "Cover Tree".
참고 문헌 목록