Skip to content

@saehrimnir/druidjs / BallTree

Class: BallTree<T>

Defined in: knn/BallTree.js:27

Ball Tree for efficient nearest neighbor search.

A Ball Tree is a metric tree that partitions points into a nested set of hyperspheres (balls). It is particularly effective for high-dimensional data and supports any valid metric.

Template

Extends

  • KNN

Type Parameters

Type ParameterDescription
T extends number[] | Float64Array

Constructors

Constructor

ts
new BallTree<T>(elements: T[], parameters?: ParametersBallTree): BallTree<T>;

Defined in: knn/BallTree.js:36

Generates a BallTree with given elements.

Parameters

ParameterTypeDescription
elementsT[]Elements which should be added to the BallTree
parameters?ParametersBallTreeDefault is {metric: euclidean}

Returns

BallTree<T>

See

Overrides

ts
KNN.constructor

Properties

PropertyTypeInherited fromDefined in
_elementsT[]KNN._elementsknn/KNN.js:14
_parametersParametersBallTreeKNN._parametersknn/KNN.js:16
_type"array" | "typed"KNN._typeknn/KNN.js:18

Accessors

_metric

Get Signature

ts
get _metric(): Metric;

Defined in: knn/BallTree.js:46

Returns

Metric

Methods

ts
search(t: T, k?: number): {
  distance: number;
  element: T;
  index: number;
}[];

Defined in: knn/BallTree.js:119

Parameters

ParameterTypeDefault valueDescription
tTundefinedQuery element.
k?number5Number of nearest neighbors to return. Default is 5

Returns

{ distance: number; element: T; index: number; }[]

  • List consists of the k nearest neighbors.

Overrides

ts
KNN.search

search_by_index()

ts
search_by_index(i: number, k?: number): {
  distance: number;
  element: T;
  index: number;
}[];

Defined in: knn/BallTree.js:110

Parameters

ParameterTypeDefault valueDescription
inumberundefined-
knumber5-

Returns

{ distance: number; element: T; index: number; }[]

Overrides

ts
KNN.search_by_index