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

C++ में द्विदलीय ग्राफ में किनारों की अधिकतम संख्या

समस्या कथन

एक पूर्णांक N दिया गया है जो शीर्षों की संख्या का प्रतिनिधित्व करता है। कार्य N शीर्षों के द्विदलीय ग्राफ़ में किनारों की अधिकतम संभव संख्या ज्ञात करना है।

द्विपक्षीय ग्राफ़

  • द्विपक्षीय ग्राफ वह होता है जिसमें शीर्षों के 2 सेट होते हैं।
  • सेट ऐसे होते हैं कि एक ही सेट के कोने कभी भी उनके बीच एक किनारा साझा नहीं करेंगे।

उदाहरण

यदि N =10 है तो कुल 25 किनारे होंगे -

  • दोनों सेटों में 5 शीर्ष होंगे और पहले सेट के प्रत्येक शीर्ष का दूसरे सेट के प्रत्येक शीर्ष से किनारा होगा
  • इसलिए कुल किनारे 5 * 5 =25 होंगे

एल्गोरिदम

  • किनारों की संख्या तब अधिकतम होगी जब किसी दिए गए सेट के प्रत्येक शीर्ष का दूसरे सेट के हर दूसरे शीर्ष से एक किनारा होता है यानी किनारे =m * n जहां m और n दोनों सेटों में किनारों की संख्या होती है
  • किनारों की संख्या को अधिकतम करने के लिए, m जितना संभव हो n के बराबर या उसके करीब होना चाहिए
  • इसलिए, किनारों की अधिकतम संख्या की गणना सूत्र द्वारा की जा सकती है -

(एन * एन) / 4

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int getMaxEdges(int n) {
   return floor((n * n) / 4);
}
int main() {
   int n = 7;
   cout << "Maximum edges = " << getMaxEdges(n) << endl;
   return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है -

Maximum edges = 12

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. सी ++ पथ लंबाई जिसमें अधिकतम संख्या में मोड़ हैं

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

  1. सी ++ में एक अप्रत्यक्ष ग्राफ में किनारों की संख्या की गणना करें

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