यह डोमिनेटिंग सेट समस्या को हल करने के लिए एक C++ प्रोग्राम है।
एल्गोरिदम
आरंभ करें इनपुट के रूप में कोने और किनारों की संख्या लें। किनारों के किनारे बिंदु भी लें। फ़ंक्शन प्रमुख ():वेक्टर सेट घोषित करें। शीर्षों को जोड़ने वाला कोई भी किनारा लें, अर्थात्; X और Y। सेट करने के लिए X और Y के बीच एक शीर्ष जोड़ें। X.End से जुड़े सभी किनारों को हटाएं
उदाहरण
#includeनामस्थान का उपयोग कर;वेक्टर<वेक्टर >जी;बूल विज़िट[10001];int i,j;vector प्रमुख (int v,int e) { वेक्टर सेट; // कोने को जोड़ने वाला कोई भी किनारा ई ग्राफ लें यानी; X और Y. for(i=0;i > वी; cout<<"किनारों की संख्या दर्ज करें:"; सिनेमा>> ई; जी आकार बदलें (वी); मेमसेट (विज़िट, 0, साइज़ोफ़ (विज़िट)); // एक सरणी के सभी सूचकांक मान को 0 के रूप में सेट करें (i=0;i >ए>>बी; ए--; बी--; जी [ए]। पुश_बैक (बी); जी [बी]। पुश_बैक (ए); } वेक्टर सेट =प्रमुख (वी, ई); cout<<"प्रमुख सेट है:\n"; for(i=0;i<(int)Set.size();i++) cout< आउटपुट
शीर्षों की संख्या दर्ज करें:7किनारों की संख्या दर्ज करें:6किनारे 1 के अंतिम बिंदु दर्ज करें:1 2किनारे 2 के अंतिम बिंदु दर्ज करें:2 2किनारे के अंतिम बिंदु दर्ज करें 3:3 4किनारे के अंतिम बिंदु दर्ज करें 4 :4 5 किनारे के अंत-बिंदु दर्ज करें 5 :6