Given an undirected graph, check if it contains an independent set of size k. Print ‘Yes’ if there exists an independent set of size k. Print ‘No’ otherwise.
Independent Set: An independent set in a graph is a set of vertices which are not directly connected to each other.
Input : K = 4, graph = [[1, 1, 0, 0, 0], [1, 1, 1, 1, 1], [0, 1, 1, 0, 0], [0, 1, 0, 1, 0], [0, 1, 0, 0, 1]] Output : Yes
The above graph contains an independent set of size 4 (vertices 1, 2, 3, 4 are not directly connected to each other). Hence the output is ‘Yes’.
Input : K = 4, graph = [[1, 1, 0, 0, 0], [1, 1, 1, 1, 1], [0, 1, 1, 0, 0], [0, 1, 0, 1, 1], [0, 1, 0, 1, 1]] Output : No
The above graph doesn’t contain an independent set of size 4. Hence output is ‘No’.
- Initialize a variable sol with boolean False value.
- Find all the possible sets of vertices of size K from the given graph.
- If an independent set of size k is found, change the value of sol to True and return.
- Else continue checking for other possible sets.
- In the end, if sol is True, print ‘Yes’ else print ‘No’.
Below is the implementation of the above approach:
Time Complexity: where V is the number of vertices in the graph and k is the given size of set.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Maximal Independent Set in an Undirected Graph
- Maximal independent set from a given Graph using Backtracking
- Proof that Independent Set in Graph theory is NP Complete
- Find all cliques of size K in an undirected graph
- Convert the undirected graph into directed graph such that there is no path of length greater than 1
- Convert undirected connected graph to strongly connected directed graph
- Disjoint Set (Or Union-Find) | Set 1 (Detect Cycle in an Undirected Graph)
- Perl | DBI(Database Independent Interface) Module Set - 1
- Perl - DBI(Database Independent) Module | Set - 2
- Find k-cores of an undirected graph
- Find minimum weight cycle in an undirected graph
- Program to find Circuit Rank of an Undirected Graph
- Find if there is a path between two vertices in an undirected graph
- Find any simple cycle in an undirected unweighted Graph
- Graph implementation using STL for competitive programming | Set 1 (DFS of Unweighted and Undirected)
- Kth largest node among all directly connected nodes to the given node in an undirected graph
- Print all shortest paths between given source and destination in an undirected graph
- Minimize cost to color all the vertices of an Undirected Graph using given operation
- Mathematics | Independent Sets, Covering and Matching
- Eulerian path and circuit for undirected graph
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
Improved By : sanjeev2552