Skip to content

TheChocolateOre/furthest-neighbours

Repository files navigation

Furthest Neighbours Search

Implementations of k-furthest neighbours algorithms in Java.

The problem

Let U a collection of items, Q a collection of query items and k a positive integer. The k-furthest items problem asks to find for every item in Q its k-furthest items, which belong in U.

The algorithms

  1. Brute Force (BruteForce.java): It is exact and of brute force.
  2. Guaranteed Drusilla Select (GuaranteedDrusilla.java): It is approximate, but with a guaranteed solution quality provided by the user.
  3. Query Dependent (QueryDependent.java): It is approximate and works only for k=1
  4. Double Priority Queue 1-Dimensional (DoublePQ1D.java): It is exact and works only on 1-dimensional data.
  5. Sorting 1-Dimensional (Sort1D.java): It is exact or optional guaranteed approximate and works only on 1-dimensional data.

Disclaimer

This project has an experimental theme, I would not recommend using it in production.

Java version

15+ (I'm pretty sure it can compile with a lower version too)

About

Exact and approximate k-furthest neighbours search algorithms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages