Skip to main content

graphrepresentation

So there are two ways to represent a graph

  • Adjacency List
  • Adjacency Matrix

Adjacency List

👍 Adjacency List basically is a list of adjacent vertices connected to the current vertex

Adjacency Matrix

👍 Adjacency Matrix is simply a 2d matrix of size n * m , where n and m are the number of vertices in the graph and graph[i][j] = 1 , means that there is a connecteion between vertex i and vertex j.

Graph Representation :)

#include<bits/stdc++.h> 
using namespace std ;



int main(){
int n, m;
cin >> n >> m;
// adjacency list for undirected graph
// time complexity: O(2E)
vector<int> adj[n];
for (int i = 0; i < m; i++)
{
int u, v;
cin >> u >> v;
adj[u].push_back(v);
adj[v].push_back(u);
}

// for adjacent matrix
for (int i = 0; i < m; i++)
{
int u, v;
cin >> u >> v;
adj[u][v] = 1 ;
adj[v][u] = 1 ;
}

for(int i = 0 ; i < n ; i++){
cout<<i<<"->" ;
for(int j = 0 ; j < adj[i].size() ; j++){
cout<<adj[i][j]<<"," ;
}
cout<<endl ;
}
return 0 ;
}