K-Nearest Neighbor implementations for Java.
Implementations include BK-Trees, Vantage Point Trees, and Symmetric Delete Spelling Correction. BkTrees and VP Trees will work with any objects for which integer-valued distance functions can be defined.
Several String metrics (including Levenshtein, Damareau-Levenshtein, and Hamming distance) are defined in StringMetrics.java, and spatial metrics are defined in MoreMetrics.java.
Use cases include KNN classification, spelling correction, map lookups with fuzzy keys.