में सभी के निकटतम पड़ोसियों को मुझे डेटा के प्रत्येक बिंदु को अपने निकटतम पड़ोसियों को सेट करने की आवश्यकता है। डेटा सेट में लगभग शामिल हैं। 10 मिलियन 2 डी अंक। डेटा ग्रिड के करीब हैं, लेकिन एक सटीक ग्रिड नहीं बनाते हैं ...2 डी, सी ++
यह विकल्प केडी पेड़ के उपयोग को छोड़कर (मेरी राय में), जहां मूल धारणा कोई बिंदु नहीं है, एक्स एक्स समन्वय और y समन्वय है ।
मुझे इस समस्या को हल करने के लिए एक तेज़ एल्गोरिदम ओ (एन) या बेहतर (लेकिन कार्यान्वयन के लिए बहुत मुश्किल नहीं है) की आवश्यकता है ... इस तथ्य को हल करने के लिए कि बूस्ट मानकीकृत नहीं है, मैं उपयोग नहीं करना चाहता यह ...
अपने जवाब या कोड नमूने के लिए धन्यवाद ...
क्या आप जो खोज रहे हैं उसके लिए एक उदाहरण प्रदान कर सकते हैं? –
संभावित डुप्लिकेट [डेटा संरचना की उपयुक्त पसंद और 2 डी में तेज़ के-निकटतम पड़ोसी खोज के लिए एल्गोरिदम] (http://stackoverflow.com/questions/3944649/suitable-choice-of-data- संरचना-and-algorithm-for -फास्ट-के-नजदीकी-पड़ोसी-खोजकर्ता) – ybungalobill
मैं काफी अनुवर्ती नहीं हूं कि आप केडी-पेड़ों का उपयोग क्यों नहीं कर सकते। मैं संक्षेप में बताऊंगा कि मुझे क्या लगता है कि आप कह रहे हैं: मुझे बताएं कि मैं कहां गलत हूं। आपके पास 10 एम विशिष्ट बिंदुओं का एक सेट है। वे एक पूर्णांक ग्रिड पर झूठ नहीं बोलते हैं, लेकिन करीब हैं, उदाहरण के लिए, एक बिंदु (2.01, 1.05) और दूसरा (1.99,1.03) है।क्या आप अंक को स्केल नहीं कर सकते हैं ताकि वे सभी एक पूर्णांक ग्रिड पर रख सकें, और फिर केडी-पेड़ का उपयोग करें? उदाहरण के लिए, ऊपर दिए गए 2 अंक (201,105) और (199,103) हो सकते हैं। – corriganjc