관심있는 데이터 구조는 메트릭 트리입니다. 즉, 메트릭 공간에서 효율적인 검색을 지원합니다. 미터법 공간은 일련의 객체와 삼각형 부등식을 만족하는 객체 사이에 정의 된 거리 함수로 구성됩니다. 그런 다음 개체 집합과 쿼리 요소가 주어지면 쿼리에 충분히 가까운 개체를 검색하는 것이 목표입니다.
검색 문제는 문자 그대로 컴퓨터 과학의 모든 곳에서 발생하기 때문에 막대한 양의 다른 메트릭 트리가 있습니다. 그러나 최소한 피벗 기반 및 클러스터 기반의 두 그룹으로 나눌 수 있으며 하이브리드도 있습니다. 좋은 조사는 E. Chavez et al., Searching in Metric Spaces, 2001 입니다. 예를 들어, 5 장 : 미터법 공간에 대한 현재 솔루션, 283 페이지를 참조하십시오.
거기에서, 표 1에서, Chavez et al. 16 개의 다른 메트릭 트리를 고려하십시오. 공간 복잡성, 구성 복잡성, 청구 된 쿼리 복잡성 및 각각에 대한 추가 CPU 쿼리 시간 (알려진 경우)을 나타냅니다. 구성 복잡성을 너무 신경 쓰지 않으면 BK- 트리의 쿼리 복잡도는 . 여기서 검색 범위와 공간 구조에 따라 입니다. . 또는 요소 수가 많지 않은 경우 AESA (검색 알고리즘 제거 근사치)를 살펴보십시오. 거대한 공간 ( 시간 및 공간)에 대해 빌드하고 저장하는 것은 허용 할 수 없을 정도로 느리지 만, 실험적으로 쿼리 시간 을 갖는 것으로 나타났습니다 .0 < α < 1 O ( N 2 ) O ( 1 )O(nα)0<α<1O(n2)O(1)
Chavez et al. 또한 다른 나무들에 대한 훌륭한 개요를 제공하고, 특히 어떤 나무가 당신의 관심을 끌면 자연스럽게 더 많은 참고 문헌을 제공합니다. 실제로 다른 나무의 성능은 종종 실험적으로 평가됩니다. 이것은 공간의 구조에 많이 의존한다고 생각합니다. 따라서 어떤 트리가 특히 귀하의 경우에 가장 효율적인지 말하기는 어렵습니다. 그럼에도 불구하고 가장 쉬운 방법으로 시작하는 것이 좋습니다. BK- 트리가 구축하기 가장 쉬운 트리라면 먼저 사용해보십시오. 그들이 당신의 요구 사항을 충족시키지 못하면, 더 많은 정보에 근거한 결정을 내리는 데 도움이 될 수있는 공간에 대한 더 많은 사실을 모으는 데 시간 (그리고 아마도 프로그래밍 시간)을 투자하십시오.