2013-03-02 16 views
6

हम फार्म की एक संलग्नता सूची दी जाती हैग्राफ में सबसे लंबा रास्ता कैसे खोजें?

U -> (U,V,C) -> (U,V,C) ... 
U2 -> ... 
U3 -> ... 
. 
. 
etc 

(U,V,C) वहाँ लागत सी

दिया संलग्नता सूची एन के साथ एक एकल जुड़ा पेड़ के लिए है के साथ यू से बढ़त वी के लिए इस प्रकार युक्त नोड्स का मतलब एन -1 किनारों।

नोड्स का एक सेट F=F1,F2,F3...Fk दिया गया है।

अब सवाल यह है कि एफ में नोड्स के बीच सबसे लंबा रास्ता खोजने का सबसे अच्छा तरीका क्या है? क्या ओ (एन) में ऐसा करना संभव है?

एफ में प्रत्येक नोड से डीएफएस एकमात्र विकल्प है?

+1

क्या डीएफएस = गहराई पहली खोज है? –

+0

आप ओ में केवल नोड्स के सबसे लंबे पथ के लिए पूछ रहे हैं, जिसमें आवश्यकता के लिए लंबाई == के -1 और एक लागत एसयूएम (सी (फाई, फाई -1, सी) से सी होना चाहिए) एफ के एक निर्धारित आदेश के लिए। क्या यह यूलर के कोनिग्सबर्ग ब्रिज की समस्या के सामान्यीकरण को कम नहीं करता है? –

+0

इसके अलावा, शायद यह यहां के बजाय मैथ एसई पर है। –

उत्तर

1

मैं आपके प्रश्न को समझ गया क्योंकि सेट एफ से नोड्स की एक जोड़ी ढूंढने के लिए कहा गया है ताकि उन दो नोड्स के बीच अद्वितीय पथ जितना हो सके। पथ अद्वितीय है क्योंकि आपका ग्राफ एक पेड़ है।

समस्या एफ में प्रत्येक नोड से डीएफएस कर के रूप में आप का उल्लेख है, एक हे (nk) समाधान जहां n ग्राफ और कश्मीर के आकार है के लिए द्वारा तुच्छता से हल किया जा सकता सेट के आकार है एफ

हालांकि, आप विभाजन को संभावित रूप से तेज़ी से हल कर सकते हैं और दृष्टिकोण जीत सकते हैं। ग्राफ से किसी भी नोड आर को चुनें, और एक अन्य डीएफएस का उपयोग दूरी को दूर करने के लिए डिस्ट (आर, ए) को हर दूसरे नोड एए को सारणीबद्ध करने के लिए करें और उसी समय नोड्स को एस 1 को उप-विभाजन करने के लिए विभाजन करें ..., sm जहां m की संख्या है आर से किनारों; यही है, ये रूट पे पर लटक रहे मी पेड़ हैं। अब, किसी भी एफ और जी के लिए जो विभिन्न उप-नियमों से संबंधित है, यह मानता है कि उनके बीच का पथ जिला (आर, एफ) + जिस्ट (आर, जी) किनारों है, इसलिए ओ (के^2) समय में सबसे लंबे समय तक इस तरह के पथ की खोज करना संभव है। इसके अलावा, आप उपप्रब्लेम एस 1, ..., एसएम को उस मामले को कवर करने के लिए है जहां सबसे लंबा रास्ता उन पेड़ों में से एक के अंदर है। समग्र जटिलता ओ (एन के) से कम हो सकती है लेकिन पाठक को अभ्यास के रूप में गणित छोड़ दिया जाता है।

+0

दो चित्र इस स्पष्टीकरण को और अधिक स्पष्ट करेंगे । यह सुंदर है, लेकिन केवल शब्दों को पचाना मुश्किल बनाता है। मुझे समझने में मुझे 5 मिनट का समय लगा। –

+0

इसके अलावा, दावा है कि दिया गया एल्गोरिदम ओ (एनके) से कम है पाठक को नहीं छोड़ा जाना चाहिए। यह मानते हुए कि बदतर मामला प्रति उप-2 एफ-नोड्स है, प्रारंभिक तुलना (के^2-के)/4 हैं। उपट्री विश्लेषण तब 2 मीटर (एन/एम) होते हैं, जिससे (के^2-के)/4 + 2 एन तुलना होती है, लेकिन यह मानता है कि 2 एफ-नोड सबट्री सबसे खराब मामले हैं। ऐसा लगता है जैसे लॉग (के) एफ-नोड्स वास्तव में सबसे खराब मामला होगा। क्या आप अपने दावे पर विस्तार से बता सकते हैं कि यह ओ (एनके) है? –

+0

ओह, यह प्रश्न 3 साल पुराना है, वास्तव में इसके बारे में चेतावनी होनी चाहिए ... –

-2

यदि मैं आपका प्रश्न सही ढंग से समझ गया, तो आप एक फैले पेड़ में सबसे लंबा लागत पथ खोजने की कोशिश कर रहे हैं।

आप एन

आप कदम नीचे करना चाहिए की बड़ी मूल्य के लिए सिर्फ 2 पूरा ट्रेवर्सल अर्थात हे (2N) ~ हे (एन) में पथ पा सकते हैं।

  1. स्पैनिंग पेड़ में कोई भी नोड चुनें।
  2. नोड से किसी भी अल्गो (डीएफएस या बीएफएस) चलाएं और इस नोड से सबसे लंबी लागत पथ पाएं।

यह आपके सबसे लंबे समय तक लागत वाला मार्ग नहीं होगा जैसा आपने यादृच्छिक रूप से नोड को चुनकर शुरू किया था।

    सबसे लंबे समय तक लागत पथ कदम 2.
  1. इस बार सबसे लंबे समय तक लागत पथ आपको मिल में पाया के अंतिम नोड से
  2. भागो बीएफएस या डीएफएस एक बार और, सबसे लंबे समय तक हो जाएगा वृक्षारोपण पेड़ में पथ।

आपको प्रत्येक नोड से डीएफएस चलाने की आवश्यकता नहीं है।

+0

क्या आपके पास कुछ तर्क है कि यह सही क्यों है? – Henry

+0

यह अप्रत्यक्ष स्पैनिंग पेड़ के मामले में हमेशा सही होगा जब आप यादृच्छिक रूप से नोड को चुनकर पार करते हैं, तो आप निश्चित नहीं हैं कि प्रारंभ बिंदु आपको सबसे लंबा रास्ता ले जाएगा। जब आप पहली बार अलगो चलाते हैं, तो आप एक परिदृश्य को छोड़कर सबसे लंबा रास्ता पार करते हैं, जो कि वास्तविक सबसे लंबा मार्ग है जिसमें आपने पहले नोड को शामिल नहीं किया है। तो जब आप फिर से अहंकार चला रहे हैं तो यह निश्चित रूप से आपको सबसे लंबा रास्ता देगा। दोनों मामलों में यदि सबसे लंबा पथ उस नोड को शामिल करता है जिसे आपने पहले चुना था या यहां तक ​​कि यह नहीं है। इसे उपयोग के मामले में चलाने के लिए प्रयास करें, आप निश्चित रूप से समझेंगे। – Nyk

+0

यह निश्चित रूप से समझ में आता है कि प्रत्येक नोड एफ से संबंधित है, लेकिन प्रत्येक नोड एफ से संबंधित नहीं है। यह हो सकता है कि यह अभी भी एक अच्छी पद्धति है, लेकिन आपको इसे संबोधित करने की आवश्यकता हो सकती है। (या शायद मुझे कुछ याद आ रहा है, तो मुझे बताएं।) –

संबंधित मुद्दे