इस तरह के तेजी से परिणाम प्राप्त करने के लिए, बहुत बड़े डेटा सेट पर, मुझे पथ संपीड़न के साथ संघ-खोज डेटा संरचना का उपयोग करना सबसे अच्छा लगता है । हालाँकि, यदि आप केवल Djikstra के एल्गोरिथ्म का उपयोग करना चाहते हैं और इसे अनुकूलित करना चाहते हैं, तो यह नीचे आता है कि ग्राफ़ में प्रत्येक नोड को क्या जानकारी है। आप सबसे अधिक संभावना सभी 1,500 प्रश्नों को करने की जरूरत नहीं है।
उदाहरण के लिए, निम्नलिखित उदाहरण पर विचार करें। आइए कहते हैं कि मैं किसी भी 2 अभिनेताओं (बेकन नंबर) के बीच अलगाव की डिग्री खोजने की कोशिश कर रहा हूं और मैं कम से कम भारित पथ (संभव नई फिल्मों का उपयोग करके पथ) खोजना चाहता हूं। अब, मान लीजिए कि मेरे पास एक फंक्शन है shortestPath(actor A, actor B);
। निम्नलिखित परिदृश्य पर विचार करें।
यदि अभिनेता A 1970 से अभिनय कर रहा है और अभिनेता B 2000 से अभिनय कर रहा है, तो उस जानकारी को देखते हुए, यह बहुत अधिक तार्किक होगा कि अभिनेता B की पहली फिल्म से शुरू होने वाले मार्ग को खोजें और फिर अभिनेता A को अपना रास्ता दिखाए। हर फिल्म के माध्यम से इसका विरोध करने पर अभिनेता ए ने अभिनय किया है।
इस प्रकार, मुख्य बिंदु यह है कि जीकास्ट्रा के एल्गोरिथ्म का अनुकूलन वास्तव में इस बात पर निर्भर करता है कि आपका डेटा सेट क्या है। आपको अपने डेटा सेट को अपने एल्गोरिथ्म को अनुकूलित करने में मदद करने के लिए हमारे बारे में और अधिक जानकारी प्रदान करने की आवश्यकता होगी।
EDIT: मान लीजिए कि आप एक ही देश में 2 शहरों के बीच सबसे छोटा रास्ता खोजने की कोशिश कर रहे हैं और अगर यह देश व्यापक है, उदाहरण के लिए, अर्जेंटीना, तो आप अपने प्रश्नों को देश के देशांतर और अक्षांश के आधार पर कर सकते हैं सीमाओं। फिर आप क्षैतिज रूप से विरोध के रूप में लंबवत (देशांतर का उपयोग करके) शुरू कर सकते हैं। बेशक, अपवाद से निपटने की आवश्यकता होगी, लेकिन आपको सामान्य विचार मिलेगा।