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

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


एक ग्राफ दिया गया है; हमें जांचना होगा कि दिया गया ग्राफ स्टार ग्राफ है या नहीं।

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

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

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

इनपुट: आसन्नता मैट्रिक्स: 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 आउटपुट: यह एक स्टार ग्राफ है।

एल्गोरिदम

checkStarGraph(graph)

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

आउटपुट: ग्राफ स्टार ग्राफ होने पर सच।

शुरू     degOneVert := 0 और degNminOneGraph := 0     यदि ग्राफ में केवल एक शीर्ष है, तो       वापस करें सच, यदि कोई सेल्फ-लूप नहीं है     अन्यथा यदि ग्राफ में दो शीर्ष हैं, तो       वापस करें सच यदि दो शीर्षों के बीच केवल एक किनारा है     अन्यथा       ग्राफ में सभी शीर्ष i के लिए, करें         degree := 0         i के साथ आसन्न सभी शीर्ष j के लिए, करें           degree := degree + 1         किया         यदि degree = 1, तो           degOneVert := degOneVert + 1         अन्यथा यदि degree = n-1, तो           degNminOneGraph := degNminOneGraph + 1       किया     यदि degOneVert = n-1, और degNminOneGraph = 1, तो       वापस करें सच     अन्यथा गलत वापस करें अंत

उदाहरण

#include<iostream> #define NODE 4 using namespace std; int graph[NODE][NODE] = {     {0, 1, 1, 1},     {1, 0, 0, 0},     {1, 0, 0, 0},     {1, 0, 0, 0} }; bool checkStarGraph() {     int degOneVert = 0, degVert = 0;       //प्रारंभ में डिग्री 1 वाले शीर्ष और डिग्री n - 1 वाले शीर्ष 0 हैं     if (NODE == 1)       //जब केवल एक नोड हो       return (graph[0][0] == 0);     if (NODE == 2)         return (graph[0][0] == 0 && graph[0][1] == 1 && graph[1][0] == 1 && graph[1][1] == 0 );     for (int i = 0; i < NODE; i++) {       //2 से अधिक ग्राफ के लिए       int degree = 0;       for (int j = 0; j < NODE; j++)       //शीर्ष i के लिए डिग्री गिनें         if (graph[i][j])           degree++;       if (degree == 1)         degOneVert++;       else if (degree == NODE-1)         degVert++;     }     //जब केवल एक शीर्ष डिग्री n-1 का हो, और अन्य सभी शीर्ष डिग्री 1 के हों, तो यह स्टार ग्राफ है     return (degOneVert == (NODE-1) && degVert == 1); } int main() {     if(checkStarGraph())       cout << "It is a star graph.";     else       cout << "It is not a star graph."; }

आउटपुट

It is a star graph.

  1. ग्राफ के लिए ब्रेडथ फर्स्ट सर्च (BFS) ग्राफ के लिए ब्रेडथ फर्स्ट सर्च (BFS)

    ब्रेडथ फर्स्ट सर्च (BFS) ट्रैवर्सल एक एल्गोरिदम है, जिसका उपयोग दिए गए ग्राफ के सभी नोड्स को विजिट करने के लिए किया जाता है। इस ट्रैवर्सल एल्गोरिदम में एक नोड चुना जाता है और फिर सभी आसन्न नोड्स को एक-एक करके विजिट किया जाता है। सभी आसन्न वर्टेक्स को पूरा करने के बाद, यह दूसरे वर्टेक्स की जांच करने

  1. C++ में डिस्कनेक्टेड ग्राफ के लिए BFS C++ में डिस्कनेक्टेड ग्राफ के लिए BFS

    डिस्कनेक्टेड ग्राफ एक ग्राफ है जिसमें एक या अधिक नोड्स ग्राफ के एंडपॉइंट्स नहीं होते यानी वे कनेक्टेड नहीं होते। एक डिस्कनेक्टेड ग्राफ... अब, सिंपल BFS केवल तब लागू होता है जब ग्राफ कनेक्टेड हो यानी ग्राफ के सभी वर्टेक्स ग्राफ के एक नोड से एक्सेसिबल हों। उपरोक्त डिस्कनेक्टेड ग्राफ में तकनीक संभव नह

  1. टेक्स्ट की साहित्यिक चोरी (प्लेजरिज्म) कैसे जांचें टेक्स्ट की साहित्यिक चोरी (प्लेजरिज्म) कैसे जांचें

    साहित्यिक चोरी (प्लेजरिज्म) हमेशा शिक्षकों, लेखकों, संपादकों, और अन्य लोगों के लिए एक मुद्दा रहा है जो नियमित रूप से शब्दों और विचारों से निपटते हैं, और इंटरनेट और कॉपी-पेस्ट फ़ंक्शन के आगमन के कारण यह केवल बदतर हुआ है। साहित्यिक चोरी-जांच सॉफ्टवेयर मदद कर सकता है, लेकिन हर प्रोग्राम में एक बड़ा डेट