Coconote
AI notes
AI voice & video notes
Export note
Try for free
डायरेक्टेड ग्राफ में साइकल डिटेक्शन
Sep 8, 2024
साइकल डिटेक्शन (Cycle Detection)
परिचय
इस लेक्चर में डायरेक्टेड ग्राफ में साइकल डिटेक्शन के बारे में चर्चा की जाएगी।
ग्राफ की संरचना
ग्राफ में नोड्स और उनके बीच के कनेक्शन को दर्शाया गया है।
उदाहरण के लिए, नोड्स को नाम दिया गया है: 1, 2, 3, 4, 5, 6, 7, 8।
ग्राफ में साइकल की पहचान करने के लिए डीएफएस (DFS) एल्गोरिदम का उपयोग किया जाएगा।
डीएफएस एल्गोरिदम
पिछले लेक्चर में अन्डायरेक्टेड ग्राफ में जो लॉजिक इस्तेमाल किया गया था, वही लॉजिक यहां नहीं लगाया जा सकता।
डायरेक्टेड ग्राफ में साइकल डिटेक्शन के लिए विशेष सावधानी बरतने की आवश्यकता है।
साइकल की पहचान करने का तरीका
नोड्स को विजिटेड मार्क करना:
जब डीएफएस कॉल की जाती है, तो नोड को विजिटेड मार्क किया जाता है।
पैरेंट चेक करना:
यदि कोई नोड पहले से विजिटेड है, और वह पैरेन्ट नहीं है, तो साइकल मौजूद है।
कोडिंग प्रक्रिया
ग्राफ की एडजेसेंसी लिस्ट बनाई जाती है।
DFS कॉल के लिए एक फंक्शन बनाया जाता है।
सभी नोड्स पर DFS कॉल की जाती है।
साइकल मिलने पर ट्रू रिटर्न किया जाता है।
यदि नोड विजिटेड नहीं है, तो DFS कॉल की जाती है।
टाइम और स्पेस कॉम्प्लेक्सिटी
टाइम कॉम्प्लेक्सिटी:
O(V + E) (जहाँ V नोड्स और E एजेस हैं)
स्पेस कॉम्प्लेक्सिटी:
लीनियर (O(V)) डेटा स्ट्रक्चर के लिए।
निष्कर्ष
इस लेक्चर में हमने डायरेक्टेड ग्राफ में साइकल डिटेक्शन के लिए डीएफएस एल्गोरिदम का उपयोग किया।
अगले वीडियो में BFS के माध्यम से साइकल डिटेक्शन की चर्चा करेंगे।
धन्यवाद
मिलते हैं अगले वीडियो में!
📄
Full transcript