Wow. Zehndimensionale Vektoren? Was machst du mit denen?
Ich denke, ich würde damit beginnen, jeden Vektor auf Einheitslänge zu reduzieren - dh auf Punkte auf einer Hypersphäre - dann verwende einen "Nearest Neighbour Search" (NNS) Algorithmus wie kD Baum (k-Dimensional binary tree) , R-Baum, Best Bin zuerst, etc.
Es ist wahrscheinlich unmöglich, dieses Problem schneller als O (n log n) zu lösen, denn wenn Sie dieses Problem schneller lösen könnten, könnten Sie das einfachere "engste Paar" lösen von Punkten Problem "schneller als die aktuelle untere Grenze von O (n log n).
Wie Tom Womack darauf hingewiesen hat, wird der Brute-Force-O (n^2) -Algorithmus weniger tatsächliche Wanduhrzeit als diese ausgefeilteren Algorithmen für "kleine" Datenmengen benötigen und sieht wie "n = 10000 aus "ist relativ klein für 10 Dimensionen.
Ich hoffe, dass "10" binär ist ... –