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

जाँच करें कि दिया गया ट्री ग्राफ C++ में रैखिक है या नहीं

यहां हम देखेंगे कि कैसे जांचा जाता है कि एक ट्री ग्राफ रैखिक है या नहीं। एक रैखिक वृक्ष ग्राफ को एक पंक्ति में व्यक्त किया जा सकता है, मान लीजिए कि यह एक रैखिक वृक्ष ग्राफ का एक उदाहरण है।

जाँच करें कि दिया गया ट्री ग्राफ C++ में रैखिक है या नहीं

लेकिन यह रैखिक नहीं है -

जाँच करें कि दिया गया ट्री ग्राफ C++ में रैखिक है या नहीं

यह जांचने के लिए कि ग्राफ रैखिक है या नहीं, हम दो शर्तों का पालन कर सकते हैं

  • यदि नोड्स की संख्या 1 है, तो ट्री ग्राफ रैखिक है
  • यदि (n - 2) इसके नोड्स में डिग्री 2 है

उदाहरण

#include <iostream>
#include <vector>
#define N 4
using namespace std;
class Graph{
   private:
   int V;
   vector<int> *adj;
   public:
   Graph(int v){
      V = v;
      adj = new vector<int>[v];
   }
   void addEdge(int u, int v){
      adj[u].push_back(v);
      adj[v].push_back(u);
   }
   bool isLinear() {
      if (V == 1)
         return true;
      int count = 0;
      for (int i = 0; i < V; i++) {
         if (adj[i].size() == 2)
         count++;
      }
      if (count == V - 2)
         return true;
      else
         return false;
   }
};
int main() {
   Graph g1(3);
   g1.addEdge(0, 1);
   g1.addEdge(0, 2);
   if (g1.isLinear())
      cout << "The graph is linear";
   else
      cout << "The graph is not linear";
}

आउटपुट

The graph is linear

  1. जाँच करें कि क्या दिया गया बाइनरी ट्री C++ में SumTree है

    यहां हम देखेंगे कि कैसे जांचा जाए कि बाइनरी ट्री सम-ट्री है या नहीं। अब प्रश्न यह है कि योग वृक्ष क्या है। सम-ट्री एक बाइनरी ट्री है जहाँ एक नोड अपने बच्चों का योग मान रखेगा। पेड़ की जड़ में उसके नीचे के सभी तत्वों का योग होगा। यह सम-वृक्ष का उदाहरण है - इसे चेक करने के लिए हम एक आसान सी ट्रिक अप

  1. जांचें कि बाइनरी ट्री को सी ++ में स्तर-वार क्रमबद्ध किया गया है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री की जांच कैसे की जाती है कि यह स्तर के अनुसार क्रमबद्ध है या नहीं। स्तर के अनुसार क्रमबद्ध बाइनरी ट्री नीचे जैसा दिखेगा - प्रत्येक स्तर में, नोड्स को बाएं से दाएं क्रमबद्ध किया जाता है, और प्रत्येक परत में अपने पिछले स्तर की तुलना में उच्च मान होता है। हम लेवल ऑर्डर

  1. जांचें कि एक निर्देशित ग्राफ सी ++ में जुड़ा हुआ है या नहीं

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