में हैमिल्टन पथ खोजने के लिए एल्गोरिदम मैं एल्गोरिदम पर स्कीएनना की पुस्तक का जिक्र कर रहा हूं।एक डीएजी
परीक्षण की समस्या है कि क्या एक ग्राफ G
एक Hamiltonian path
शामिल NP-hard
, जहां एक Hamiltonian पथ P
एक रास्ता है कि प्रत्येक शिखर ठीक एक बार दौरा किया है। हैमिल्टनियन चक्र की समस्या के विपरीत, पी के प्रारंभिक चरम पर अंत में चरम से जी में किनारे नहीं होना चाहिए।
एक निर्देशित विश्वकोश ग्राफ जी (DAG
) को देखते हुए, O(n + m)
समय एल्गोरिदम दें ताकि परीक्षण किया जा सके कि इसमें हैमिल्टनियन पथ है या नहीं।
मेरे दृष्टिकोण,
मैं DFS
और Topological sorting
उपयोग करने के लिए योजना बना रहा हूँ। लेकिन मुझे नहीं पता था कि समस्या को हल करने में दो अवधारणाओं को कैसे जोड़ा जाए। समाधान निर्धारित करने के लिए एक स्थलीय प्रकार का उपयोग कैसे किया जा सकता है।
कोई सुझाव?
@ पीटर इवानोव धन्यवाद! – user2302617
लेकिन आपने माना कि ग्राफ कनेक्ट है, क्या ऐसे ग्राफ के लिए टोपोलॉजिकल सॉर्ट नहीं हो सकता है जो भागों को डिस्कनेक्ट कर चुके हैं? – shinzou
मुझे लगता है कि ग्राफ कनेक्ट नहीं है। अगर ग्राफ कनेक्ट नहीं है तो कोई हैमिल्टनियन नहीं है और यह एल्गोरिदम इसका पता लगाएगा, क्योंकि लगातार कम से कम एक कोष्ठक कनेक्ट नहीं किया जाएगा (या फिर ग्राफ कनेक्ट हो जाएगा)। –