İşte en yakın komşu sorunu.
Verilen gerçekler (çok büyük !), artı gerçek hedef , bul ve SUM'a en yakın olan . Makul ön işleme / indekslemeye izin veriyoruz (en fazla ), ancak sorgu zamanında (verilen ), sonuç çok hızlı bir şekilde döndürülmelidir (ör. süresi).
(Daha basit örnek: yalnızca TEKLİ isteseydik bu en yakın , sıralardık çevrimdışı , ardından sorgu zamanında ikili arama yapın, ).
Çalışmayan çözümler:
1) Sırala çevrimdışı, ardından sorgu zamanında her iki uçtan başlayın ve iki işaretçi içe doğru hareket ettirin ( http://bit.ly/1eKHHDy ). İyi değil, çünkü sorgu süresi.
2) Sırala çevrimdışı, ardından sorgu zamanında her birini alın ve yakınlardaki bir şeyi toplamasına yardımcı olan bir "arkadaş" için ikili arama gerçekleştirin . İyi değil, çünkü sorgu süresi.
3) Tüm çiftleri sırala sonra da ikili arama yapın. İyi değil, çünkü ön-işlem.
Teşekkürler!
ps. Uygulama için gerekli diğer genellemeler: (1) ve 50 boyutlu vektörler olmak, (2) vektör kosinüs mesafesi olmak "kapatmak" ve (3) -en iyi yakın çift-bu-toplam, sadece 1-en iyi.