यहाँ एक निकटतम पड़ोसी समस्या है।
यह देखते हुए reals (बहुत बड़े !), के साथ साथ वास्तविक को लक्षित , लगता है और जिसका योग के सबसे करीब है । हम ( ) के उचित पूर्व-प्रसंस्करण / अनुक्रमण की अनुमति देते हैं , लेकिन क्वेरी समय (दिए गए ) पर, परिणाम बहुत तेज़ी से लौटाया जाना चाहिए (जैसे, समय)।
(सरल उदाहरण: यदि हम केवल एक चाहते थे कि के सबसे करीब है , हम को सॉर्ट होगा ऑफ़लाइन, , तो क्वेरी के समय द्विआधारी खोज करते हैं, )।
समाधान जो काम नहीं करते हैं:
1) ऑफ़लाइन सॉर्ट करें , फिर क्वेरी समय पर, दोनों सिरों से शुरू करें और दो पॉइंटर्स को अंदर की ओर ले जाएं ( http://bit.ly/1eKHHDy )। अच्छा नहीं है, क्योंकि क्वेरी समय है।
2) ऑफ़लाइन, फिर क्वेरी समय पर, प्रत्येक और एक "दोस्त" के लिए द्विआधारी खोज करें जो इसे करीब कुछ करने में मदद करता है । अच्छा नहीं, क्योंकि क्वेरी समय।
3) सभी जोड़े ऑफ़लाइन सॉर्ट करें, फिर बाइनरी सर्च करें। अच्छा नहीं है, क्योंकि प्री-प्रोसेसिंग है।
धन्यवाद!
ps। अभ्यास के लिए आवश्यक सामान्यीकरण: (1) और को 50-आयामी वैक्टर, (2) "करीब" सदिश कोसाइन दूरी, और (3) -best निकटतम जोड़े-उस-योग। सिर्फ 1-बेस्ट नहीं।