एक निर्देशित ग्राफ़ में दृढ़ता से जुड़ा हुआ कहा जाता है, जब एक घटक में प्रत्येक जोड़ी के बीच एक पथ होता है।
इस एल्गोरिथम को हल करने के लिए, सबसे पहले, प्रत्येक शीर्ष का अंतिम समय प्राप्त करने के लिए DFS एल्गोरिथ्म का उपयोग किया जाता है, अब ट्रांसपोज़्ड ग्राफ़ का अंतिम समय ज्ञात करें, फिर शीर्षों को टोपोलॉजिकल सॉर्ट द्वारा अवरोही क्रम में क्रमबद्ध किया जाता है।
इनपुट और आउटपुट
इनपुट:ग्राफ़ का एडजेंसी मैट्रिक्स।एल्गोरिदम
ट्रैवर्स (ग्राफ़, प्रारंभ, विज़िट किया गया)
इनपुट: ट्रैवर्स किया जाने वाला ग्राफ़, शुरुआती शीर्ष और विज़िट किए गए नोड्स के फ़्लैग।
आउटपुट: डीएफएस तकनीक में प्रत्येक नोड से गुजरें और नोड्स प्रदर्शित करें।
शुरुआत के साथ जुड़े सभी शीर्षों के लिए देखे गए के रूप में प्रारंभ करें, यदि v का दौरा नहीं किया जाता है, तो ट्रैवर्स (ग्राफ, वी, विज़िट किया गया) किया गया अंतtopoSort(u, विज़िट किया गया, स्टैक)
इनपुट - प्रारंभ नोड, विज़िट किए गए शीर्षों के लिए ध्वज, स्टैक।
आउटपुट - ग्राफ़ को क्रमित करते हुए स्टैक भरें।
यू के साथ जुड़े सभी नोड के लिए u को विज़िट के रूप में चिह्नित करें, यदि v का दौरा नहीं किया जाता है, तो topoSort(v, विज़िट, स्टैक) किया गया आपको स्टैकएंड में धकेलता है।getStrongConComponents(ग्राफ)
इनपुट: दिया गया ग्राफ।
आउटपुट - सभी मजबूती से जुड़े हुए घटक।
शुरू में ग्राफ में सभी शीर्ष i के लिए सभी नोड्स का दौरा नहीं किया जाता है, अगर i का दौरा नहीं किया जाता है, तो topoSort (i, vis, स्टैक) किए गए सभी नोड्स को फिर से ट्रांसग्राफ करें:=दिए गए ग्राफ़ का स्थानान्तरण जबकि स्टैक नहीं है खाली, स्टैक से पॉप नोड करें और वी में ले लें यदि वी का दौरा नहीं किया जाता है, तो ट्रैवर्स (ट्रांसग्राफ, वी, विज़िट किया गया) किया गया अंतउदाहरण
#शामिल#शामिल करें , 0}, {0, 1, 0, 0, 0}, {0, 0, 0, 0, 1}, {0, 0, 0, 0, 0}}; int transGraph[NODE][NODE];void transpose() {// ग्राफ़ को ट्रांसपोज़ करें और ट्रांसग्राफ में स्टोर करें (int i =0; i &stk) { विज़िट किया गया [u] =सत्य; // सेट के रूप में नोड वी के लिए दौरा किया जाता है (int v =0; v stk; बूल विज़ [नोड]; for(int i =0; i आउटपुट
दिए गए ग्राफ़ में निम्नलिखित दृढ़ता से जुड़े हुए घटक हैं:0 1 234