नहीं, आप सबसे खराब स्थिति में से बेहतर नहीं कर सकते ।Θ(n2)
उन बिंदुओं की व्यवस्था पर विचार करें जहां हर जोड़ी बिंदु एक दूसरे से दूरी हो। (यह एक संभव कॉन्फ़िगरेशन है।) फिर आप हर किनारे की जांच करने से बेहतर नहीं कर सकते। विशेष रूप से, यदि कोई किनारा है जिसकी आपने जांच नहीं की है, तो एक विरोधी उस किनारे की लंबाई , , या ; उन सभी विकल्पों में से आपके द्वारा किए गए अन्य टिप्पणियों के साथ संगत हैं (एक मीट्रिक की आवश्यकताओं के साथ (जैसे, त्रिकोण असमानता के साथ), इसलिए सभी तीन संभव हैं; लेकिन उन्हें अलग-अलग आउटपुट की आवश्यकता होती है। इस प्रकार, यदि आपका एल्गोरिथ्म उस किनारे की जांच नहीं करता है और फिर कुछ को आउटपुट करता है, तो एक विरोधी हमेशा अनजाने किनारे के लिए एक लंबाई चुन सकता है जो आपके एल्गोरिदम के आउटपुट को गलत बना देगा।10.91.01.1
हालाँकि, यदि आप जानते हैं कि सभी बिंदु (भले ही आपको उनके निर्देशांक नहीं दिए गए हैं), तो समस्या को दूरी को मापते हुए हल किया जा सकता है , मानकर नहीं पतित ( अंक का कोई सबसेट सह-नियोजक नहीं हैं)।RdO((d+1)n)d+1
विशेष रूप से, अंक यादृच्छिक रूप से चुनें। ये एंकर पॉइंट होंगे। उनकी जोड़ीदार दूरी को देखते हुए, आप उनके लिए निर्देशांक की गणना कर सकते हैं जो उनकी जोड़ीदार दूरी के अनुरूप हैं। अब, हर दूसरे बिंदु , से प्रत्येक एंकर पॉइंट की दूरी की गणना करें । त्रिकोणासन और इन दूरियों का उपयोग करके, आप लंगर बिंदुओं के सापेक्ष के स्थान की गणना कर सकते हैं और इस प्रकार लिए निर्देशांक बना सकते हैं । ऐसा हर गैर-एंकर बिंदु । अब आपके पास हर बिंदु के लिए निर्देशांक हैं, और आप उन निर्देशांक का उपयोग केंद्रीय बिंदु को खोजने के लिए कर सकते हैं, जो आपको बिना किसी अधिक जोड़ीदार दूरी के ओरेकल से पूछे। मुझे नहीं पता कि यह अंतिम चरण इससे अधिक तेज़ी से हो सकता है या नहींd+1PPPPPO(n2) समय है , लेकिन यह किसी भी अधिक जोड़ीदार दूरी को मापने के बिना किया जा सकता है।