Bird
Raised Fist0
DSA C#programming~5 mins

Graph Terminology Vertices Edges Directed Undirected Weighted in DSA C# - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a vertex in a graph?
A vertex (or node) is a fundamental unit in a graph that represents an entity or point. It can be connected to other vertices by edges.
Click to reveal answer
beginner
Define an edge in a graph.
An edge is a connection or link between two vertices in a graph. It can represent relationships or paths between entities.
Click to reveal answer
beginner
What is the difference between a directed and an undirected edge?
A directed edge has a direction from one vertex to another (like a one-way street). An undirected edge has no direction and connects two vertices both ways (like a two-way street).
Click to reveal answer
beginner
What does it mean if a graph is weighted?
A weighted graph has edges that carry a value or weight, such as distance, cost, or time, representing the strength or cost of the connection.
Click to reveal answer
intermediate
Can a graph have both directed and undirected edges?
Yes, such graphs are called mixed graphs. They contain both directed and undirected edges connecting vertices.
Click to reveal answer
What is a vertex in a graph?
AA point or node representing an entity
BA connection between two nodes
CA value assigned to an edge
DA direction of an edge
Which type of edge has a direction?
AUndirected edge
BDirected edge
CWeighted edge
DLoop edge
In an undirected graph, edges are:
ATwo-way connections
BOne-way connections
CAlways weighted
DAlways loops
What does a weighted edge represent?
AA connection without value
BA direction of flow
CA connection with a value like cost or distance
DA vertex in the graph
What is a mixed graph?
AA graph with no edges
BA graph with only undirected edges
CA graph with only directed edges
DA graph with both directed and undirected edges
Explain the difference between directed and undirected edges in a graph.
Think about how traffic flows on one-way and two-way streets.
You got /3 concepts.
    Describe what a weighted graph is and why weights might be useful.
    Consider how maps show distances between cities.
    You got /3 concepts.

      Practice

      (1/5)
      1. In a graph, what do we call the points or nodes where edges meet?
      easy
      A. Vertices
      B. Edges
      C. Weights
      D. Paths

      Solution

      1. Step 1: Understand graph components

        A graph consists of points called nodes and connections called edges.
      2. Step 2: Identify the term for nodes

        The points or nodes where edges meet are called vertices.
      3. Final Answer:

        Vertices -> Option A
      4. Quick Check:

        Nodes = Vertices [OK]
      Hint: Remember: nodes = vertices, connections = edges [OK]
      Common Mistakes:
      • Confusing edges with vertices
      • Thinking weights are nodes
      • Mixing paths with vertices
      2. Which of the following is the correct way to declare a directed graph using adjacency list in C#?
      easy
      A. int[] graph = new int[10];
      B. List<int> graph = new List<int>();
      C. Dictionary graph = new Dictionary();
      D. Dictionary graph = new Dictionary();

      Solution

      1. Step 1: Understand adjacency list representation

        An adjacency list uses a dictionary mapping each vertex to a list of connected vertices.
      2. Step 2: Check the correct C# syntax

        Dictionary correctly represents a graph where each int key has a list of connected nodes.
      3. Final Answer:

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

        Adjacency list = Dictionary with List values [OK]
      Hint: Adjacency list uses Dictionary with List for edges [OK]
      Common Mistakes:
      • Using List<int> alone
      • Using array instead of dictionary
      • Using Dictionary which stores single values
      3. Consider the following C# code snippet for an undirected weighted graph:
      var graph = new Dictionary>();
      graph[1] = new List<(int, int)> { (2, 5), (3, 10) };
      graph[2] = new List<(int, int)> { (1, 5), (3, 3) };
      graph[3] = new List<(int, int)> { (1, 10), (2, 3) };
      
      // What is the weight of the edge between vertex 2 and vertex 3?
      medium
      A. 8
      B. 5
      C. 10
      D. 3

      Solution

      1. Step 1: Locate edge from vertex 2 to 3

        In graph[2], the list contains (1,5) and (3,3). The tuple (3,3) means vertex 3 with weight 3.
      2. Step 2: Identify the weight value

        The weight of the edge between 2 and 3 is 3.
      3. Final Answer:

        3 -> Option D
      4. Quick Check:

        Edge (2,3) weight = 3 [OK]
      Hint: Check the tuple with target vertex for weight [OK]
      Common Mistakes:
      • Confusing vertex numbers
      • Picking weight from wrong tuple
      • Adding weights incorrectly
      4. The following C# code tries to add an edge to an undirected graph but causes a runtime error:
      var graph = new Dictionary();
      graph[1] = new List<int> { 2 };
      // Add edge from 2 to 1
      graph[2].Add(1);
      What is the cause of the error?
      medium
      A. graph[2] is not initialized before adding
      B. Cannot add edges in undirected graphs
      C. List<int> cannot be used for graph edges
      D. Syntax error in dictionary declaration

      Solution

      1. Step 1: Check initialization of graph[2]

        graph[2] is not assigned any list before calling Add, so it is null.
      2. Step 2: Understand why Add causes error

        Calling Add on null causes a NullReferenceException at runtime.
      3. Final Answer:

        graph[2] is not initialized before adding -> Option A
      4. Quick Check:

        Null list causes error [OK]
      Hint: Always initialize lists before adding elements [OK]
      Common Mistakes:
      • Assuming dictionary auto-initializes lists
      • Thinking undirected graphs disallow adding edges
      • Confusing syntax error with runtime error
      5. You have a weighted directed graph represented as:
      var graph = new Dictionary>
      {
        {1, new List<(int, int)>{ (2, 4), (3, 1) }},
        {2, new List<(int, int)>{ (3, 2) }},
        {3, new List<(int, int)>{ (4, 7) }},
        {4, new List<(int, int)>{}}
      };
      
      // What is the total weight of the path 1 -> 3 -> 4?
      hard
      A. 10
      B. 8
      C. 7
      D. 3

      Solution

      1. Step 1: Find weight from 1 to 3

        From graph[1], edge to 3 has weight 1.
      2. Step 2: Find weight from 3 to 4

        From graph[3], edge to 4 has weight 7.
      3. Step 3: Calculate total path weight

        Total weight = 1 + 7 = 8.
      4. Final Answer:

        8 -> Option B
      5. Quick Check:

        1->3=1 + 3->4=7 = 8 [OK]
      Hint: Sum weights along the path edges [OK]
      Common Mistakes:
      • Adding wrong edges
      • Ignoring direction of edges
      • Using wrong weights from graph
      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