डिसजॉइंट सेट एक डेटा संरचना है जिसका उपयोग क्रुस्कल मिनिमम स्पैनिंग ट्री में किया जाता है।
यह डेटा संरचना हमें दो या दो से अधिक नोड्स का मिलन बनाने की अनुमति देती है।
यह हमें यह निर्धारित करने देता है कि क्या दो नोड नॉट के ग्राफ़ के एक ही घटक से संबंधित हैं।
समय जटिलता O(4alpha) है (यदि हम पथ संपीड़न का उपयोग कर रहे हैं जो कि हम हैं, अन्यथा यह लघुगणक होगा) जो निरंतर समय जटिलता है जो सिद्ध हो चुकी है।
अधिक जानकारी के लिए देखें
class Main{ int parent[] = new int[100000]; int rank[] = new int[100000]; void makeSet(){ for(int i=1;i6->4->3 , here 3 is the parent of this union, so in order to get the parent of 7 which is 3 we can path compress it. like 7->3,6->3,4->3 etc. } void union(int u, int v){ u = findParent(u); v = findParent(v); if(rank[u] rank[v]) parent[v] = u; else parent[u] =v; // or parent[v] = u; // here u and v had the same rank //and now v became parent of u hence its rank will increase rank[v] ; } public static void main(String args[]) throws Exception{ Main m = new Main(); //if we where given no of nodes as n BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); while(n>0){ int u = n--; int v = n--; m.union(u,v);// this will create union of n nodes } // if 2 and 3 belong to the same component or not find out if(findParent(2)! = findParent(3)) System.out.println("Different component"); else System.out.println("Same component"); } }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3