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

जांचें कि दो दिए गए समुच्चय असंयुक्त हैं या नहीं


परिचय

दो समुच्चय असंयुक्त समुच्चय होते हैं जब उनका कोई सामान्य तत्व नहीं होता। दूसरे शब्दों में, यदि हम दो समुच्चयों का प्रतिच्छेदन प्राप्त करते हैं, तो हमें रिक्त समुच्चय मिलेगा।

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

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

इनपुट: दो समुच्चय: set1: {15, 12, 36, 21, 14} set2: {7, 89, 56, 32}
आउटपुट: दोनों समुच्चय असंयुक्त हैं

एल्गोरिदम

isDisjoint(set1, set2)
इनपुट: दो समुच्चय
आउटपुट: सत्य जब दोनों समुच्चय असंयुक्त हों

Begin
    i1 := पहले समुच्चय की शुरुआत
    i2 := दूसरे समुच्चय की शुरुआत
    जब तक i1 पहले समुच्चय में और i2 दूसरे समुच्चय में, करें
        यदि set1[i1] < set2[i2], तो
            i1 := i1 + 1
        अन्यथा यदि set2[i2] < set1[i1], तो
            i2 := i2 + 1
        अन्यथा
            असत्य लौटाएं
    done
    सत्य लौटाएं
End

उदाहरण (C++ कोड)

#include <iostream>
#include <set>
using namespace std;

bool isDisjoint(set<int> set1, set<int> set2) {
    set<int>::iterator i1, i2;
    i1 = set1.begin(); i2 = set2.begin(); // पहले तत्व के साथ पुनरावर्तक आरंभ करें
    while (i1 != set1.end() && i2 != set2.end()) {
        // जब दोनों समुच्चयों में जांचने के लिए कुछ तत्व हों
        if (*i1 < *i2)
            i++; // जब पहले समुच्चय का आइटम दूसरे समुच्चय से कम हो
        else if (*i2 < *i1)
            i2++; // जब दूसरे समुच्चय का आइटम पहले समुच्चय से कम हो
        else
            return false; // यदि आइटम मेल खाते हैं, तो समुच्चय असंयुक्त नहीं हैं
    }
    return true;
}

int main() {
    set<int> set1, set2;
    int n1, n2;
    cout << "Enter number of elements in set 1: "; cin >> n1;
    while (n1 != set1.size()) {
        // डुप्लिकेट आइटम्स को त्याग दिया जाएगा
        int item;
        cout << "Enter element: "; cin >> item;
        set1.insert(item);
    }
    cout << "Enter number of elements in set 2: "; cin >> n2;
    while (n2 != set2.size()) {
        int item;
        cout << "Enter element: "; cin >> item;
        set2.insert(item);
    }
    if (isDisjoint(set1, set2))
        cout << "Both sets are disjoint";
    else
        cout << "Sets are not disjoint";
}

आउटपुट

Enter number of elements in set 1: 5
Enter element: 15
Enter element: 12
Enter element: 36
Enter element: 21
Enter element: 14
Enter number of elements in set 2: 4
Enter element: 7
Enter element: 89
Enter element: 56
Enter element: 32
Both sets are disjoint
  1. - Python में जांचें कि क्या दो सूचियाँ समान हैं

    Python डेटा विश्लेषण में, हम ऐसी स्थिति का सामना कर सकते हैं जब हमें दो सूचियों की तुलना करने और यह पता लगाने की आवश्यकता होती है कि क्या वे समान हैं यानी समान तत्व हैं या नहीं।उदाहरणlistA = [Mon,Tue,Wed,Thu] listB = [Mon,Wed,Tue,Thu] # दी गई सूचियाँ print(Given listA: ,listA) print(Given listB: ,li

  1. - पायथन प्रोग्राम: चेक करना कि दो लिस्ट्स सर्कुलरली आइडेंटिकल हैं या नहीं

    यहां दो लिस्ट्स दी गई हैं। हमारा कार्य चेक करना और पता लगाना है कि क्या दो दी गई लिस्ट्स सर्कुलरली आइडेंटिकल हैं या नहीं।उदाहरणInput: A = [100, 100, 10, 10, 100] B = [100, 100, 100, 10, 10] Output: Trueव्याख्यासत्य क्योंकि जब लिस्ट में ये एलिमेंट्स सर्कुलरली रोटेट होंगे तो वे दूसरी दी गई लिस्ट के सम

  1. - पायथन प्रोग्राम: चेक करना कि दो दी गई मैट्रिक्स आइडेंटिकल हैं या नहीं

    यहां दो मैट्रिक्स दी गई हैं। दोनों मैट्रिक्स का ऑर्डर समान है। आइडेंटिकल होने के लिए दोनों मैट्रिक्स बराबर होनी चाहिए, दोनों मैट्रिक्स में पंक्तियों और कॉलम की संख्या समान होनी चाहिए और संबंधित एलिमेंट्स भी समान होने चाहिए।एल्गोरिदमचरण 1: दो मैट्रिक्स बनाएं। चरण 2: फिर पहली मैट्रिक्स और दूसरी मैट्रि