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

डायरेक्टेड ग्राफ में कनेक्टिविटी


ग्राफ की कनेक्टिविटी जांचने के लिए, हम किसी भी ट्रैवर्सल एल्गोरिदम का उपयोग करके सभी नोड्स को ट्रैवर्स करने का प्रयास करेंगे। ट्रैवर्सल पूरा करने के बाद, यदि कोई नोड है, जिसे विजिट नहीं किया गया है, तो ग्राफ कनेक्टेड नहीं है।

डायरेक्टेड ग्राफ में कनेक्टिविटी

डायरेक्टेड ग्राफ के लिए, हम कनेक्टिविटी जांचने के लिए सभी नोड्स से ट्रैवर्स करना शुरू करेंगे। कभी-कभी एक एज का केवल आउटवर्ड एज हो सकता है लेकिन कोई इनवर्ड एज नहीं, इसलिए वह नोड किसी अन्य शुरुआती नोड से अनविजिटेड रहेगा।

इस मामले में, ट्रैवर्सल एल्गोरिदम रिकर्सिव DFS ट्रैवर्सल है।

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

इनपुट: एक ग्राफ का एडजेसेंसी मैट्रिक्स 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 आउटपुट: ग्राफ कनेक्टेड है।

एल्गोरिदम

traverse(u, visited)

इनपुट: स्टार्ट नोड u और विजिटेड नोड जिसे विजिट किया गया है उसे मार्क करने के लिए

आउटपुट - सभी कनेक्टेड वर्टेक्स को ट्रैवर्स करें

Begin 
  mark u as visited 
  for all vertex v, if it is adjacent with u, do 
    if v is not visited, then 
      traverse(v, visited) 
  done 
End

isConnected(graph)

इनपुट: ग्राफ

आउटपुट: True यदि ग्राफ कनेक्टेड है

Begin 
  define visited array 
  for all vertices u in the graph, do 
    make all nodes unvisited 
    traverse(u, visited) 
    if any unvisited node is still remaining, then 
      return false 
  done 
  return true 
End

उदाहरण

#include #define NODE 5 using namespace std; int graph[NODE][NODE] = { {0, 1, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 1, 1}, {1, 0, 0, 0, 0}, {0, 1, 0, 0, 0} }; void traverse(int u, bool visited[]) { visited[u] = true; //mark v as visited for(int v = 0; v

आउटपुट

The Graph is connected.
  1. कनेक्टिविटी, दूरी, और स्पैनिंग ट्री कनेक्टिविटी, दूरी, और स्पैनिंग ट्री

    स्पैनिंग ट्रीएक सरल परिभाषा यह है कि एक ट्री एक कनेक्टेड ग्राफ है जिसमें कोई साइकिल नहीं होती, जहां एक साइकिल हमें किसी नोड से स्वयं तक बिना किसी एज को दोहराए जाने देती है।एक कनेक्टेड ग्राफ G के लिए एक स्पैनिंग ट्री को G के सभी वर्टेक्स को समाहित करने वाले ट्री के रूप में परिभाषित किया जाता है।स्पैन

  1. JavaFX सीन ग्राफ की व्याख्या JavaFX सीन ग्राफ की व्याख्या

    JavaFX में, GUI एप्लिकेशन एक सीन ग्राफ का उपयोग करके बनाए जाते हैं। एक सीन ग्राफ आधुनिक ग्राफिकल एप्लिकेशन में ट्री के समान एक डेटा संरचना है। यह एप्लिकेशन का प्रारंभिक बिंदु है, और यह नोड्स का एक संग्रह है। JavaFX में कुछ प्रदर्शित करने के लिए आपको नोड्स का उपयोग करके एक सीन ग्राफ बनाना होगा और इ

  1. पायथन में निर्देशित ग्राफ को उलटने का प्रोग्राम पायथन में निर्देशित ग्राफ को उलटने का प्रोग्राम

    मान लीजिए हमारे पास एक निर्देशित ग्राफ है, हमें इसका उल्टा ढूंढना है ताकि यदि एक किनारा u से v तक जाता है, तो अब यह v से u तक जाए। यहां इनपुट एक एडजेंसी सूची होगी, और यदि n नोड्स हैं, तो नोड्स (0, 1, ..., n-1) होंगे।इसलिए, यदि इनपुट इस तरह हैतो आउटपुट होगाइसे हल करने के लिए, हम इन चरणों का पालन करें