Bird
Raised Fist0
DSA Cprogramming~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 part of a graph representing a point or position where edges meet. Think of it like a city on a map.
Click to reveal answer
beginner
What is an edge in a graph?
An edge connects two vertices in a graph. It represents a relationship or path between points, like a road connecting two cities.
Click to reveal answer
beginner
What does it mean if a graph is directed?
A directed graph has edges with a direction, like one-way streets. Each edge goes from one vertex to another in a specific direction.
Click to reveal answer
beginner
What is an undirected graph?
An undirected graph has edges without direction. The connection between vertices works both ways, like a two-way street.
Click to reveal answer
beginner
What is a weighted edge in a graph?
A weighted edge has a number (weight) showing cost, distance, or value of the connection. For example, the length of a road or price of a flight.
Click to reveal answer
In a graph, what does a vertex represent?
AA point or node
BA connection between points
CA direction of travel
DA weight or cost
What type of graph has edges with directions?
AWeighted graph
BDirected graph
CUndirected graph
DComplete graph
Which graph type allows travel both ways between connected vertices?
ADisconnected graph
BDirected graph
CWeighted graph
DUndirected graph
What does a weighted edge in a graph represent?
AA direction
BA disconnected node
CA cost or value
DA vertex
Which of these is NOT a part of graph terminology?
AArray
BVertex
CNode
DEdge
Explain the difference between directed and undirected graphs with examples.
Think about how roads can allow traffic in one or both directions.
You got /4 concepts.
    Describe what weighted edges are and why they are useful in graphs.
    Consider how a map might show distances or toll costs on roads.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which of the following best describes a vertex in a graph?
      easy
      A. A point or node representing an entity in the graph
      B. A connection between two nodes
      C. A path that starts and ends at the same node
      D. A graph with no edges

      Solution

      1. Step 1: Understand the definition of vertex

        A vertex is a fundamental unit in a graph representing an entity or point.
      2. Step 2: Differentiate vertex from edges and other terms

        Edges connect vertices; paths and graph types are different concepts.
      3. Final Answer:

        A point or node representing an entity in the graph -> Option A
      4. Quick Check:

        Vertex = node/entity [OK]
      Hint: Vertices are the points or nodes in a graph [OK]
      Common Mistakes:
      • Confusing vertices with edges
      • Thinking vertices are paths
      • Mixing vertex with graph types
      2. Which of the following is the correct way to represent a weighted edge from vertex u to vertex v with weight 5 in C struct?
      easy
      A. struct Edge { int u, v; }; struct Weight { int w; };
      B. struct Edge { int u; int v; }; int weight = 5;
      C. struct Edge { int u; int v; int weight; };
      D. struct Edge { int u; int v; };

      Solution

      1. Step 1: Identify the correct struct fields for weighted edge

        A weighted edge needs source vertex, destination vertex, and weight as fields.
      2. Step 2: Check struct syntax correctness

        struct Edge { int u; int v; int weight; }; correctly declares all three fields in one struct.
      3. Final Answer:

        struct Edge { int u; int v; int weight; }; -> Option C
      4. Quick Check:

        Weighted edge struct = u, v, weight [OK]
      Hint: Weighted edges need u, v, and weight fields in one struct [OK]
      Common Mistakes:
      • Separating weight outside the edge struct
      • Incorrect field order causing confusion
      • Missing weight field
      3. What is the output of the following code snippet that prints edges of a directed weighted graph?
      typedef struct { int u; int v; int weight; } Edge;
      Edge edges[] = { {0, 1, 10}, {1, 2, 20}, {2, 0, 30} };
      int n = 3;
      for (int i = 0; i < n; i++) {
          printf("%d -> %d (weight %d)\n", edges[i].u, edges[i].v, edges[i].weight);
      }
      medium
      A. 0 -> 1 (weight 10) 1 -> 2 (weight 30) 2 -> 0 (weight 20)
      B. 0 -> 1 (weight 10) 1 -> 2 (weight 20) 2 -> 0 (weight 30)
      C. 0 -> 1 (weight 30) 1 -> 2 (weight 20) 2 -> 0 (weight 10)
      D. 1 -> 0 (weight 10) 2 -> 1 (weight 20) 0 -> 2 (weight 30)

      Solution

      1. Step 1: Read the edges array values

        Edges are: (0,1,10), (1,2,20), (2,0,30).
      2. Step 2: Trace the loop printing each edge

        Loop prints each edge in order with format "u -> v (weight w)".
      3. Final Answer:

        0 -> 1 (weight 10) 1 -> 2 (weight 20) 2 -> 0 (weight 30) -> Option B
      4. Quick Check:

        Print edges as stored = 0 -> 1 (weight 10) 1 -> 2 (weight 20) 2 -> 0 (weight 30) [OK]
      Hint: Print edges in array order with their weights [OK]
      Common Mistakes:
      • Reversing u and v in print
      • Mixing up weights between edges
      • Printing edges in wrong order
      4. Identify the error in this code snippet that tries to create an undirected graph edge list:
      typedef struct { int u; int v; } Edge;
      Edge edges[2];
      edges[0].u = 0; edges[0].v = 1;
      edges[1].u = 1; edges[1].v = 0;
      // Print edges
      for (int i = 0; i <= 2; i++) {
          printf("Edge from %d to %d\n", edges[i].u, edges[i].v);
      }
      medium
      A. Edge direction is incorrect for undirected graph
      B. Edges should have weight field
      C. Edges array size should be 1, not 2
      D. Loop condition should be i < 2, not i <= 2

      Solution

      1. Step 1: Check array size and loop bounds

        Edges array has size 2, valid indices are 0 and 1.
      2. Step 2: Identify loop error

        Loop runs from i=0 to i=2 inclusive, which accesses edges[2] (out of bounds).
      3. Final Answer:

        Loop condition should be i < 2, not i <= 2 -> Option D
      4. Quick Check:

        Array size 2 means max index 1 [OK]
      Hint: Loop index must be less than array size [OK]
      Common Mistakes:
      • Using <= instead of < in loop
      • Assuming edges need weight for undirected
      • Confusing edge direction in undirected graphs
      5. You have a weighted undirected graph with vertices 0, 1, 2 and edges:
      (0,1,4), (1,2,6), (0,2,5)
      How many edges will be stored if you represent this graph using an edge list storing each edge only once?
      medium
      A. 3
      B. 6
      C. 2
      D. 1

      Solution

      1. Step 1: Understand undirected edge storage

        In undirected graphs, each edge connects two vertices without direction, so store only one entry per edge.
      2. Step 2: Count unique edges given

        Edges are (0,1), (1,2), (0,2) -- total 3 unique edges.
      3. Final Answer:

        3 -> Option A
      4. Quick Check:

        Undirected edges stored once = 3 [OK]
      Hint: Undirected edges stored once, count unique pairs [OK]
      Common Mistakes:
      • Counting each edge twice
      • Confusing directed with undirected storage
      • Ignoring weights when counting 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