Этот класс алгоритмов называется Ближайший сосед или K Ближайший сосед .
Косинусное сходство , как говорит excpeiont, будет работать, если важно направление вектора. Если вектор представляет позицию в пространстве, то будет работать любая метрика для представления расстояния в пространстве.
Например, Евклидово расстояние : взять квадратный корень из суммы разностей квадратов в каждом измерении. Это даст вам расстояние для каждого вектора, а затем отсортирует ваш набор векторов по возрастанию на этом расстоянии.
Этот процесс будет O (N) во времени. Если это слишком медленно для вас, вы можете посмотреть на некоторые распространенные алгоритмы K Nearest Neighbor .