Introduction: In this tutorial we are going to write full program of disjoint set union find advance data structure in c++. Problem Description: Disjoint Set Union (DSU) is an advance data structure, which basically uses in graph algorithms to find cycles. Codes: Method1: Brute Force #include<bits/stdc++.h> using namespace std; int find(int f,vector<int>&dsuf){ if(dsuf[f]==-1) return f; return find(dsuf[f],dsuf); } void union_op(int from, int to, vector<int>& dsuf){ dsuf[from]=to; } bool isCycle(vector<pair<int,int> >&edge_list, vector<int>&dsuf){ for(int i=0;i<edge_list.size();i++){ int parent1=find(edge_list[i].first,dsuf); int parent2=find(edge_list[i].second,dsuf); if(parent1==pare...
Programming for beginners