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++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं C++ में जांचें कि दिया गया बाइनरी ट्री सम-ट्री है या नहीं

    यहां हम देखेंगे कि बाइनरी ट्री सम-ट्री (SumTree) है या नहीं, इसकी जांच कैसे करें। अब सवाल यह है कि सम-ट्री क्या है। एक सम-ट्री एक बाइनरी ट्री है जहां एक नोड अपने बच्चों के योग का मान रखता है। ट्री का रूट उसके नीचे के सभी तत्वों का पूरा योग रखता है। यह सम-ट्री का एक उदाहरण है -इसे जांचने के लिए, हम ए

  1. C++ में जांचें कि बाइनरी ट्री लेवल-वार सॉर्टेड है या नहीं C++ में जांचें कि बाइनरी ट्री लेवल-वार सॉर्टेड है या नहीं

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

  1. C++ में डायरेक्टेड ग्राफ़ कनेक्टेड है या नहीं जांचें C++ में डायरेक्टेड ग्राफ़ कनेक्टेड है या नहीं जांचें

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