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

ग्राफ का संक्रामक समापन


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

ग्राफ का संक्रामक समापन


अंतिम मैट्रिक्स बूलियन प्रकार का है। जब शीर्ष u से शीर्ष v के लिए मान 1 होता है, तो इसका मतलब है कि u से v तक कम से कम एक पथ है।

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

इनपुट: 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0 1 आउटपुट: संक्रामक समापन का मैट्रिक्स 1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1

एल्गोरिदम

transClosure(graph)

इनपुट: दिया गया ग्राफ।
आउटपुट: संक्रामक समापन मैट्रिक्स।

शुरू     आसन्नता मैट्रिक्स को transMat नामक दूसरी मैट्रिक्स में कॉपी करें     ग्राफ में किसी भी शीर्ष k के लिए, करें       ग्राफ में प्रत्येक शीर्ष i के लिए, करें         ग्राफ में प्रत्येक शीर्ष j के लिए, करें           transMat[i, j] := transMat[i, j] OR (transMat[i, k]) AND transMat[k, j])         किया       किया     किया     transMat प्रदर्शित करें अंत 

<2>उदाहरण

#include<iostream> #include<vector> #define NODE 4 using namespace std; /* int graph[NODE][NODE] = {     {0, 1, 1, 0},     {0, 0, 1, 0},     {1, 0, 0, 1},     {0, 0, 0, 0} }; */ int graph[NODE][NODE] = {     {1, 1, 0, 1},     {0, 1, 1, 0},     {0, 0, 1, 1},     {0, 0, 0, 1} }; int result[NODE][NODE]; void transClosure() {     for(int i = 0; i

आउटपुट

1 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1

  1. अनिर्देशित ग्राफ में चक्र का पता लगाएं अनिर्देशित ग्राफ में चक्र का पता लगाएं

    यह पता लगाने के लिए कि अनिर्देशित ग्राफ में कोई चक्र है या नहीं, हम दिए गए ग्राफ के लिए DFS ट्रैवर्सल का उपयोग करेंगे। प्रत्येक देखे गए शीर्ष v के लिए, जब हमें कोई आसन्न शीर्ष u मिलता है, जैसे कि u पहले से देखा गया है, और u शीर्ष v का पैरेंट नहीं है। तब एक चक्र का पता चलता है। हम मान लेंगे कि किन

  1. स्टार ग्राफ की जांच स्टार ग्राफ की जांच

    एक ग्राफ दिया गया है; हमें जांचना होगा कि दिया गया ग्राफ स्टार ग्राफ है या नहीं। ग्राफ को पार करके, हमें डिग्री एक वाले शीर्षों की संख्या, और उन शीर्षों की संख्या ढूंढनी होगी, जिनकी डिग्री n-1 है। (यहां n दिए गए ग्राफ में शीर्षों की संख्या है)। जब डिग्री 1 वाले शीर्षों की संख्या n-1 है और डिग्री (n

  1. पायथन में ग्राफ प्लॉटिंग पायथन में ग्राफ प्लॉटिंग

    पायथन में matplotlib लाइब्रेरी का उपयोग करके ग्राफ बनाने की क्षमता होती है। इसमें कई पैकेज और फ़ंक्शन होते हैं जो विभिन्न प्रकार के ग्राफ और प्लॉट उत्पन्न करते हैं। यह उपयोग करने में भी बहुत सरल है। यह numpy और अन्य पायथन बिल्ट-इन फ़ंक्शन्स के साथ मिलकर लक्ष्य प्राप्त करता है। इस लेख में हम देखेंगे