Complete-Preparation

🎉 One-stop destination for all your technical interview Preparation 🎉

View the Project on GitHub

Graph Representation

There are 2 representations of the graph.

  1. Adjacency Matrix
  2. Adjacency List

1. Adjacency Matrix:

int main()
{
    int n, m;
    cin >> n >> m;

    // Graph Adjacency Matrix Space: O(N*N)
    vector<vector<int>> adj(n, vector<int>(n, 0));
    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        adj[u][v] = 1;
        adj[v][u] = 1;
    }
    return 0;
}

2. Adjacency List:

int main()
{
    int n, m;
    cin >> n >> m;

    // Graph Adjacency List Space: O(2*E)
    vector<int> adj[n + 1]; // Array of vectors not vector of arrays
    for (int i = 0; i < m; i++) {
        int u, v;
        cin >> u >> v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    return 0;
}