Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

दृढ़ता से जुड़े ग्राफ


एक निर्देशित ग्राफ को दृढ़ता से जुड़ा हुआ कहा जाता है, जब एक घटक में शीर्षों के प्रत्येक जोड़े के बीच एक पथ होता है।

दृढ़ता से जुड़े ग्राफ

इस एल्गोरिदम को हल करने के लिए, पहले, प्रत्येक शीर्ष का समाप्ति समय प्राप्त करने के लिए DFS एल्गोरिदम का उपयोग किया जाता है, अब परिवर्तित ग्राफ का समाप्ति समय ढूंढें, फिर शीर्षों को टोपोलॉजिकल सॉर्ट द्वारा अवरोही क्रम में क्रमबद्ध किया जाता है।

इनपुट और आउटपुट

इनपुट: ग्राफ का आसन्नता मैट्रिक्स। 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 आउटपुट: दिए गए ग्राफ में दृढ़ता से जुड़े घटक निम्नलिखित हैं: 0 1 2 3 4

एल्गोरिदम

traverse(graph, start, visited)

इनपुट: वह ग्राफ जिसे पार किया जाएगा, प्रारंभिक शीर्ष, और देखे गए नोड्स के फ्लैग।

आउटपुट: DFS तकनीक में प्रत्येक नोड से गुजरें और नोड्स प्रदर्शित करें।

शुरू     start को देखा गया चिह्नित करें     start के साथ जुड़े सभी शीर्ष v के लिए, करें       यदि v नहीं देखा गया है, तो         traverse(graph, v, visited)     किया अंत

topoSort(u, visited, stack)

इनपुट: प्रारंभ नोड, देखे गए शीर्षों के लिए फ्लैग, स्टैक।

आउटपुट: ग्राफ को क्रमबद्ध करते हुए स्टैक भरें।

शुरू     u को देखा गया चिह्नित करें     u के साथ जुड़े सभी नोड v के लिए, करें       यदि v नहीं देखा गया है, तो         topoSort(v, visited, stack)     किया     u को स्टैक में पुश करें अंत

getStrongConComponents(graph)

इनपुट: दिया गया ग्राफ।

आउटपुट: सभी दृढ़ता से जुड़े घटक।

शुरू     प्रारंभ में सभी नोड्स अनदेखे हैं     ग्राफ में सभी शीर्ष i के लिए, करें       यदि i नहीं देखा गया है, तो         topoSort(i, vis, stack)     किया     सभी नोड्स को फिर से अनदेखा करें     transGraph := दिए गए ग्राफ का परिवर्तित रूप     जब तक स्टैक खाली नहीं है, करें       स्टैक से नोड पॉप करें और v में लें       यदि v नहीं देखा गया है, तो         traverse(transGraph, v, visited)     किया अंत

उदाहरण

#include <iostream> #include <stack> #define NODE 5 using namespace std; int graph[NODE][NODE] = {     {0, 0, 1, 1, 0},     {1, 0, 0, 0, 0},     {0, 1, 0, 0, 0},     {0, 0, 0, 0, 1},     {0, 0, 0, 0, 0} };           int transGraph[NODE][NODE]; void transpose() {     //ग्राफ को परिवर्तित करें और transGraph में संग्रहीत करें     for(int i = 0; i

आउटपुट

Following are strongly connected components in given graph: 0 1 2 3 4

  1. डेटा स्ट्रक्चर में प्लेनर स्ट्रेट लाइन ग्राफ (PSLGs) डेटा स्ट्रक्चर में प्लेनर स्ट्रेट लाइन ग्राफ (PSLGs)

    कम्प्यूटेशनल ज्योमेट्री (Computational Geometry) के मामले में, एक प्लेनर स्ट्रेट-लाइन ग्राफ, संक्षेप में PSLG, (या स्ट्रेट-लाइन प्लेन ग्राफ, या प्लेन स्ट्रेट-लाइन ग्राफ) को एक प्लेनर ग्राफ के प्लेन में एम्बेडिंग (Embedding) के लिए उपयोग किए जाने वाले टर्म के रूप में परिभाषित किया जाता है जैसे कि इसक

  1. ग्राफ और इसके ट्रैवर्सल एल्गोरिदम ग्राफ और इसके ट्रैवर्सल एल्गोरिदम

    इस खंड में हम देखेंगे कि ग्राफ डेटा स्ट्रक्चर क्या है, और इसके ट्रैवर्सल एल्गोरिदम क्या हैं।ग्राफ एक नॉन-लीनियर डेटा स्ट्रक्चर है। जिसमें कुछ नोड्स और उनके कनेक्टेड एज होते हैं। एज डायरेक्टेड या अनडायरेक्टेड हो सकते हैं। इस ग्राफ को G(V, E) के रूप में दर्शाया जा सकता है। निम्नलिखित ग्राफ को G({A, B,

  1. Microsoft 365 में कनेक्टेड एक्सपीरियंस अक्षम कैसे करें Microsoft 365 में कनेक्टेड एक्सपीरियंस अक्षम कैसे करें

    Microsoft Office में कनेक्टेड एक्सपीरियंस उपयोगकर्ताओं को अधिक प्रभावी ढंग से बनाने, संवाद करने और सहयोग करने में मदद करने के लिए डिज़ाइन किया गया है। हालाँकि, यदि आपके पास व्यक्तिगत उपयोग के लिए सख्ती से ऑफिस सब्सक्रिप्शन है, तो आप इस अनुभव को कम उपयोगी पा सकते हैं। Office 365 में कनेक्टेड एक्सपीरि