/** @import { ParametersNaiveKNN } from "./index.js" */ /** * Naive KNN implementation using a distance matrix. * * This implementation pre-computes the entire distance matrix and performs * an exhaustive search. Best suited for small datasets or when a distance * matrix is already available. * * @template {number[] | Float64Array} T * @category KNN * @class * @extends KNN */ export class NaiveKNN extends KNN { /** * Generates a KNN list with given `elements`. * * @param {T[]} elements - Elements which should be added to the KNN list * @param {ParametersNaiveKNN} parameters */ constructor(elements: T[], parameters?: ParametersNaiveKNN); _D: Matrix; /** @type {Heap<{ value: number; index: number }>[]} */ KNN: Heap<{ value: number; index: number; }>[]; /** * @param {number} i * @param {number} k */ search_by_index( i: number, k?: number, ): { element: T; index: number; distance: number; }[]; /** * @param {T} t - Query element. * @param {number} [k=5] - Number of nearest neighbors to return. Default is `5` * @returns {{ element: T; index: number; distance: number }[]} - List consists of the `k` nearest neighbors. */ search( t: T, k?: number, ): { element: T; index: number; distance: number; }[]; } import type { ParametersNaiveKNN } from "./index.js"; import { KNN } from "./KNN.js"; import { Matrix } from "../matrix/index.js"; import { Heap } from "../datastructure/index.js"; //# sourceMappingURL=NaiveKNN.d.ts.map