Bird
Raised Fist0
DSA C#programming~5 mins

Adjacency Matrix Representation in DSA C# - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is an adjacency matrix in graph representation?
An adjacency matrix is a 2D array used to represent a graph where each cell at row i and column j indicates if there is an edge from vertex i to vertex j.
Click to reveal answer
beginner
How do you represent no edge between two vertices in an adjacency matrix for an unweighted graph?
You represent no edge by placing 0 in the cell corresponding to those two vertices in the adjacency matrix.
Click to reveal answer
intermediate
In an adjacency matrix for a weighted graph, what value is typically used to represent no edge?
A special value like infinity (or a very large number) is used to represent no edge, depending on the implementation.
Click to reveal answer
beginner
What is the time complexity to check if an edge exists between two vertices using an adjacency matrix?
It is O(1) because you directly access the cell at row i and column j in the matrix.
Click to reveal answer
intermediate
What is a disadvantage of using adjacency matrix for graph representation?
It uses O(V²) space, which can be inefficient for large graphs with few edges (sparse graphs).
Click to reveal answer
What does a '1' in the cell (i, j) of an adjacency matrix represent in an unweighted graph?
AThe graph is weighted
BThere is no edge from vertex i to vertex j
CVertex i equals vertex j
DThere is an edge from vertex i to vertex j
What is the space complexity of an adjacency matrix for a graph with V vertices?
AO(V + E)
BO(V²)
CO(V)
DO(E²)
Which operation is fastest with an adjacency matrix?
AAdd a new vertex
BList all neighbors of a vertex
CCheck if an edge exists between two vertices
DRemove a vertex
In a weighted graph adjacency matrix, what does a cell value of 0 usually mean?
ANo edge exists
BEdge weight is one
CEdge weight is zero
DGraph is unweighted
Which graph type is adjacency matrix less efficient for?
ASparse graphs
BDense graphs
CComplete graphs
DDirected graphs
Explain how an adjacency matrix represents edges in a graph and how to check if an edge exists between two vertices.
Think of a table where rows and columns are vertices.
You got /4 concepts.
    Describe the advantages and disadvantages of using an adjacency matrix for graph representation.
    Consider speed versus memory use.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does an adjacency matrix represent in graph theory?
      easy
      A. A queue of nodes to visit
      B. A list of nodes in the graph
      C. A 2D array showing edges between nodes
      D. A stack of visited nodes

      Solution

      1. Step 1: Understand adjacency matrix concept

        An adjacency matrix is a 2D array where rows and columns represent nodes.
      2. Step 2: Identify what the matrix stores

        Each cell shows if an edge exists between two nodes (1 for edge, 0 for no edge).
      3. Final Answer:

        A 2D array showing edges between nodes -> Option C
      4. Quick Check:

        Adjacency matrix = 2D array of edges [OK]
      Hint: Adjacency matrix is always a 2D array showing connections [OK]
      Common Mistakes:
      • Confusing adjacency matrix with adjacency list
      • Thinking it stores node values instead of edges
      • Mixing up matrix with traversal order
      2. Which of the following is the correct way to declare an adjacency matrix for 4 nodes in C#?
      easy
      A. int[] matrix = new int[4];
      B. int[,] matrix = new int[4,4];
      C. int[][] matrix = new int[4];
      D. int matrix = new int[4,4];

      Solution

      1. Step 1: Identify correct 2D array syntax in C#

        In C#, a 2D array is declared as int[,] with size [rows, columns].
      2. Step 2: Check each option

        int[,] matrix = new int[4,4]; uses int[,] with size [4,4], correct for adjacency matrix of 4 nodes.
      3. Final Answer:

        int[,] matrix = new int[4,4]; -> Option B
      4. Quick Check:

        2D array syntax = int[,] [OK]
      Hint: Use int[,] for 2D arrays in C# [OK]
      Common Mistakes:
      • Using jagged array syntax instead of 2D array
      • Declaring 1D array for adjacency matrix
      • Missing comma in array declaration
      3. Given the following adjacency matrix for a graph with 3 nodes:
      int[,] matrix = new int[,] {
        {0, 1, 0},
        {1, 0, 1},
        {0, 1, 0}
      };

      What is the output of Console.WriteLine(matrix[1,2]);?
      medium
      A. 1
      B. 0
      C. 2
      D. Error

      Solution

      1. Step 1: Locate matrix element at row 1, column 2

        Matrix rows and columns start at 0, so matrix[1,2] is second row, third column.
      2. Step 2: Check value at matrix[1,2]

        From the matrix, second row is {1, 0, 1}, third element is 1.
      3. Final Answer:

        1 -> Option A
      4. Quick Check:

        matrix[1,2] = 1 [OK]
      Hint: Remember zero-based indexing for matrix rows and columns [OK]
      Common Mistakes:
      • Confusing row and column indices
      • Assuming 1-based indexing
      • Misreading matrix values
      4. Identify the error in this C# code snippet for creating an adjacency matrix of 3 nodes:
      int[] matrix = new int[3];
      matrix[0,1] = 1;
      medium
      A. Incorrect array declaration syntax
      B. No error, code is correct
      C. Index out of range error
      D. Cannot assign value to matrix[0,1]

      Solution

      1. Step 1: Analyze array declaration

        int[] matrix = new int[3]; declares a 1D array of 3 integers.
      2. Step 2: Examine the assignment

        matrix[0,1] = 1; attempts to use 2D indexing on a 1D array, which is invalid in C#.
      3. Final Answer:

        Cannot assign value to matrix[0,1] -> Option D
      4. Quick Check:

        1D array indexing mismatch [OK]
      Hint: 1D arrays cannot use [row,col] indexing [OK]
      Common Mistakes:
      • Using 2D indexing on 1D array
      • Assuming jagged array syntax for 2D array
      • Ignoring compiler error messages
      5. You have a directed graph with 4 nodes. Which adjacency matrix correctly represents edges from node 0 to 1 and 2, and from node 3 to 0?
      hard
      A. int[,] matrix = new int[,] { {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 0, 0, 0} };
      B. int[,] matrix = new int[,] { {0, 1, 0, 0}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 0, 0, 1} };
      C. int[,] matrix = new int[,] { {0, 0, 0, 1}, {1, 0, 0, 0}, {1, 0, 0, 0}, {0, 1, 1, 0} };
      D. int[,] matrix = new int[,] { {0, 1, 1, 0}, {0, 0, 0, 1}, {0, 0, 0, 0}, {0, 0, 0, 0} };

      Solution

      1. Step 1: Understand directed edges in adjacency matrix

        For directed graph, matrix[i,j] = 1 means edge from node i to node j.
      2. Step 2: Check edges from node 0 to 1 and 2

        Row 0 should have 1s at columns 1 and 2.
      3. Step 3: Check edge from node 3 to 0

        Row 3 should have 1 at column 0.
      4. Step 4: Verify options

        int[,] matrix = new int[,] { {0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 0, 0, 0} }; matches all conditions exactly.
      5. Final Answer:

        {{0, 1, 1, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {1, 0, 0, 0}} -> Option A
      6. Quick Check:

        Directed edges = matrix[i,j] = 1 [OK]
      Hint: Row = from node, column = to node in adjacency matrix [OK]
      Common Mistakes:
      • Confusing rows and columns for direction
      • Using symmetric matrix for directed graph
      • Missing edges or adding extra edges
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard