Bird
Raised Fist0
DSA C#programming~10 mins

Adjacency List Representation in DSA C# - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an adjacency list for a graph with 5 vertices.

DSA C#
List<int>[] graph = new List<int>[[1]];
Drag options to blanks, or click blank then click option'
A5
B4
C6
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using 4 instead of 5, forgetting zero-based indexing.
Using 6 or 3 which do not match the number of vertices.
2fill in blank
medium

Complete the code to initialize each list in the adjacency list array.

DSA C#
for (int i = 0; i < graph.Length; i++) {
    graph[i] = new [1]<int>();
}
Drag options to blanks, or click blank then click option'
AArray
BDictionary
CLinkedList
DList
Attempts:
3 left
💡 Hint
Common Mistakes
Using Array which is fixed size and not suitable here.
Using Dictionary which is for key-value pairs.
3fill in blank
hard

Fix the error in adding an edge from vertex 1 to vertex 3.

DSA C#
graph[1].[1](3);
Drag options to blanks, or click blank then click option'
AAdd
BAppend
CInsert
DPush
Attempts:
3 left
💡 Hint
Common Mistakes
Using Append or Push which are not valid List methods.
Using Insert without index which causes error.
4fill in blank
hard

Fill both blanks to add an undirected edge between vertices 2 and 4.

DSA C#
graph[[1]].Add([2]);
graph[[2]].Add([1]);
Drag options to blanks, or click blank then click option'
A2
B4
C3
D1
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up vertex numbers or adding wrong pairs.
Adding edges only one way for undirected graph.
5fill in blank
hard

Fill all three blanks to print neighbors of vertex 0 using a foreach loop.

DSA C#
foreach (int [1] in graph[[2]]) {
    Console.[3]([1] + " ");
}
Drag options to blanks, or click blank then click option'
Aneighbor
B0
CWrite
DWriteLine
Attempts:
3 left
💡 Hint
Common Mistakes
Using WriteLine which prints each neighbor on a new line.
Using wrong loop variable or vertex index.

Practice

(1/5)
1. What does an adjacency list represent in graph data structures?
easy
A. A list of all nodes without connections
B. A list where each node stores its connected neighbors
C. A matrix showing distances between nodes
D. A queue used for graph traversal

Solution

  1. Step 1: Understand adjacency list concept

    An adjacency list stores each node with a list of its neighbors, showing direct connections.
  2. Step 2: Compare with other options

    Other options describe different structures: matrix, isolated nodes, or traversal tools, not adjacency lists.
  3. Final Answer:

    A list where each node stores its connected neighbors -> Option B
  4. Quick Check:

    Adjacency list = neighbors list [OK]
Hint: Adjacency list always links nodes to their neighbors [OK]
Common Mistakes:
  • Confusing adjacency list with adjacency matrix
  • Thinking adjacency list stores distances
  • Mixing adjacency list with traversal queues
2. Which C# syntax correctly declares an adjacency list for a graph with integer nodes?
easy
A. Dictionary adjacencyList = new Dictionary();
B. List<int> adjacencyList = new List<int>();
C. Dictionary adjacencyList = new Dictionary();
D. int[][] adjacencyList = new int[5][];

Solution

  1. Step 1: Identify adjacency list structure

    An adjacency list maps each node (int) to a list of connected nodes (List<int>), so Dictionary fits.
  2. Step 2: Check other options

    List<int> adjacencyList = new List<int>(); is a simple list, not mapping nodes to neighbors. int[][] adjacencyList = new int[5][]; is an array of arrays, possible but less flexible. Dictionary adjacencyList = new Dictionary(); maps int to int, not to a list.
  3. Final Answer:

    Dictionary<int, List<int>> adjacencyList = new Dictionary<int, List<int>>(); -> Option C
  4. Quick Check:

    Use Dictionary with List for adjacency list [OK]
Hint: Use Dictionary for adjacency lists in C# [OK]
Common Mistakes:
  • Using List<int> alone without mapping nodes
  • Using Dictionary instead of list of neighbors
  • Confusing jagged arrays with adjacency lists
3. Given the following C# code, what is the output?
var graph = new Dictionary();
graph[1] = new List<int> {2, 3};
graph[2] = new List<int> {1};
graph[3] = new List<int> {1};

foreach(var node in graph)
{
    Console.Write(node.Key + ": ");
    foreach(var neighbor in node.Value)
    {
        Console.Write(neighbor + " ");
    }
    Console.WriteLine();
}
medium
A. 1: 2 3 2: 1 3: 1
B. 1: 1 2 3 2: 1 3: 1
C. 1: 2 3 2: 2 3: 3
D. 1: 2: 3:

Solution

  1. Step 1: Analyze graph initialization

    Node 1 connects to 2 and 3; node 2 connects to 1; node 3 connects to 1.
  2. Step 2: Trace output loop

    For each node, print key and neighbors separated by spaces. So output lines are: "1: 2 3 " "2: 1 " "3: 1 "
  3. Final Answer:

    1: 2 3 2: 1 3: 1 -> Option A
  4. Quick Check:

    Print node keys with their neighbors [OK]
Hint: Print keys with their neighbor lists exactly as stored [OK]
Common Mistakes:
  • Printing node itself as neighbor
  • Missing spaces between neighbors
  • Printing empty neighbor lists
4. Identify the error in this adjacency list code snippet and select the fix:
var graph = new Dictionary();
graph[1].Add(2);
graph[1].Add(3);
medium
A. Initialize graph[1] with a new List<int> before adding neighbors
B. Change Dictionary to Dictionary
C. Use graph.Add(1, 2) instead of graph[1].Add(2)
D. Remove the Add calls; just declare graph

Solution

  1. Step 1: Understand dictionary initialization

    graph[1] is not initialized with a list, so calling Add on null causes error.
  2. Step 2: Fix by initializing list

    Assign graph[1] = new List<int>() before adding neighbors fixes the null reference error.
  3. Final Answer:

    Initialize graph[1] with a new List<int> before adding neighbors -> Option A
  4. Quick Check:

    Initialize list before adding elements [OK]
Hint: Always create list before adding neighbors [OK]
Common Mistakes:
  • Trying to add to null list
  • Changing dictionary type incorrectly
  • Using Add method wrongly on dictionary
5. You have a graph represented by an adjacency list: Dictionary. How would you add an undirected edge between nodes 4 and 5?
hard
A. Add a new dictionary entry with key 4 and value 5
B. Add 5 to node 4's list only
C. Add 4 to node 5's list only
D. Add 5 to node 4's list and 4 to node 5's list

Solution

  1. Step 1: Understand undirected edge meaning

    Undirected edge means both nodes connect to each other, so both lists must include the other node.
  2. Step 2: Add neighbors to both nodes

    Add 5 to node 4's neighbor list and 4 to node 5's neighbor list to represent the edge correctly.
  3. Final Answer:

    Add 5 to node 4's list and 4 to node 5's list -> Option D
  4. Quick Check:

    Undirected edge = mutual neighbor entries [OK]
Hint: Add neighbors both ways for undirected edges [OK]
Common Mistakes:
  • Adding edge only one way
  • Adding wrong node to list
  • Using dictionary entry incorrectly
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