मैं एक बड़ी मेज (1M पंक्तियां) निम्नलिखित कॉलम के साथ है का पालन की जोड़ी का चयन करें। प्रत्येक पंक्ति एक लिंक को परिभाषित करती है (ए से बी तक)।पंक्तियों को एक नियम के
मुझे एनोटर नोड का उपयोग करके एक जोड़ी के बीच दूरी खोजने की आवश्यकता है। एक उदाहरण: तो अगर मैं एक नोड एक्स खोजने के लिए और है ए और बी, के बीच की दूरी को खोजने के लिए चाहते हैं: एक्स -> एक एक्स -> बी मैं इन दूरियों को जोड़ने और ए और बी beetween दूरी हो सकता है मेरा प्रश्न: मैं सभी नोड्स (जैसे एक्स) कैसे ढूंढ सकता हूं और उनकी दूरी (ए और बी) प्राप्त कर सकता हूं? मेरा उद्देश्य दूरी के न्यूनतम मूल्य का चयन करना है।
पी.एस: ए और बी सिर्फ एक कनेक्शन (मैं 100K कनेक्शन के लिए यह सब करने की ज़रूरत) कर रहे हैं। धन्यवाद!
किस डेटाबेस के लिए संस्करण सहित? –
यह एक बहुत मुश्किल समस्या है। क्लाइंट एप्लिकेशन में पंक्तियों को लोड करने और [डिजस्ट्रा के एल्गोरिदम] का उपयोग करने पर विचार करें (http://en.wikipedia.org/wiki/Dijkstra's_algorithm) – Andomar
क्या आपने स्रोतों और गंतव्यों का पूर्व निर्धारित सेट किया है या आप हर संयोजन प्राप्त करना चाहते हैं? इसके अलावा, क्या आपको केवल एक संयुक्त की आवश्यकता है? – nonsleepr