Writing an Airline Routing Algorithm Efficiently -
दिए गए:
- उड़ानों का एक डेटाबेस (प्रस्थान शहर, आगमन शहर, प्रस्थान समय, आगमन के समय)।
प्रश्न:
- दो शहरों के बीच लिस्टिंग सेवा के लिए सबसे प्रभावी एल्गोरिथ्म क्या होगा, अगर प्रस्थान का समय महत्वहीन है? विचार करें कि हम लेओवर समय को कम करना चाहते हैं (लेकिन अभी भी न्यूनतम न्यूनतम, यानी 20 मिनट), और स्टॉपओवर की संख्या को कम करना चाहते हैं (यदि कोई नॉनस्टॉप मार्ग होता है, यह तुच्छ है, लेकिन यदि नहीं, -कनेक्शन और इतने पर, उचित स्थगन के समय, कम तुच्छ)।
- यदि संभव हो तो, मैं विशेष रूप से किसी भी हवाई अड्डे के केंद्रों को लेबल के रूप में नहीं लेना चाहता, इसलिए की संभावना को खोलने के लिए बिंदु-टू-पॉइंट मार्ग नेटवर्क।
- वांछित (अनुमानित) प्रस्थान समय निर्दिष्ट करने के लिए कोई विकल्प होना चाहिए I यह ठीक है अगर इसकी अपनी एल्गोरिथम पहले से अलग है।
इस परियोजना के लिए कोड भाषा अभी तक चुना नहीं जा चुकी है (संभवत: एक। NET भाषा है, क्योंकि त्वरित रूप आसान काम में आ जाएगा ), इसलिए स्यूडोकोड एल्गोरिदम पसंदीदा हैं I यदि जानकारी में मदद मिल सकती है तो मैं अनुवर्ती सवालों के लिए एक आंख रखूंगा।
आधार पर , आप अपने शहर नेटवर्क को एक पेड़ के रूप में देखने के लिए जा रहे हैं, जहां शहर को रूट के रूप में प्रस्थान किया गया है, और प्रत्येक प्रस्थान उड़ान एक बच्चे के लिए सूचक है आप गंतव्य के लिए सभी रास्ते खोजने के लिए पेड़ के माध्यम से एक रिकर्सिव गहराई-पहली खोज करेंगे, लेकिन एक चक्र की जाँच कर रहे हैं जैसे आप जाते हैं और किसी भी रास्ते को रोकते हैं जो चक्र में परिणाम देता है।
जैसा कि आपको संभव लगता है पथ, आप या तो बस कम से कम अभी तक एक विलक्षण समाधान के रूप में पाया जा सकता है; या पथ के एक बड़े सबसेट को रखने के लिए, प्रस्थान के समय के कुछ मानदंडों द्वारा स्तरीकृत किया जाता है यदि आप उस आधार पर चयन करना चाहते हैं।
डेटाबेस और नोड्स के विशेषताओं के आधार पर, आप अन्य नियमों अपने मार्ग खोजों को कम करना, जैसे, यदि आपको पता चल जाए कि प्रस्थान और गंतव्य 1000 मील की दूरी पर हैं, और अब तक आपके रास्ते का पता लगाया गया है, तो आप 3000 मील की दूरी पर उड़ गए हैं और आप अभी भी वहां नहीं हैं, इसे स्क्रू करें, अगले रास्ते पर जाएं खोज।
Comments
Post a Comment