- Related Questions & Answers
- Maximum number of edges to be added to a tree so that it stays a Bipartite graph in C++
- Count number of edges in an undirected graph in C++
- Edges and Vertices of Graph
- Maximum Bipartite Matching
- C++ Program to Generate a Random UnDirected Graph for a Given Number of Edges
- C++ Program to Perform Graph Coloring on Bipartite Graphs
- C++ Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
- C++ Program to Find All Forward Edges in a Graph
- C++ Program to Generate a Random Directed Acyclic Graph DAC for a Given Number of Edges
- Check if a given graph is Bipartite using DFS in C++ program
- How to find if a graph is Bipartite?
- Check if a given graph is Bipartite using DFS using C++
- C++ Program to Check whether Graph is a Bipartite using BFS
- C++ Program to Check whether Graph is a Bipartite using DFS
- Program to find the diameter, cycles and edges of a Wheel Graph in C++

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

Given an integer N which represents the number of Vertices. The Task is to find the maximum number of edges possible in a Bipartite graph of N vertices.

- A Bipartite graph is one which is having 2 sets of vertices.
- The set are such that the vertices in the same set will never share an edge between them.

If N = 10 then there will be total 25 edges −

- Both sets will contain 5 vertices and every vertex of first set will have an edge to every other vertex of the second set
- Hence total edges will be 5 * 5 = 25

- The number of edges will be maximum when every vertex of a given set has an edge to every other vertex of the other set i.e. edges = m * n where m and n are the number of edges in both the sets
- in order to maximize the number of edges, m must be equal to or as close to n as possible
- Hence, the maximum number of edges can be calculated with the formula −

(n * n) / 4

#include <bits/stdc++.h> using namespace std; int getMaxEdges(int n) { return floor((n * n) / 4); } int main() { int n = 7; cout << "Maximum edges = " << getMaxEdges(n) << endl; return 0; }

When you compile and execute above program. It generates following output −

Maximum edges = 12

Advertisements