A vertex (or node) is a fundamental part of a graph representing a point or position where edges meet or connect.
Click to reveal answer
beginner
Define an edge in graph terminology.
An edge is a connection or link between two vertices in a graph. It can represent relationships or paths.
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), while an undirected edge connects two vertices without direction (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, containing both directed and undirected edges depending on the relationships modeled.
Click to reveal answer
What is a vertex in a graph?
AA point where edges connect
BA connection between two points
CA direction of an edge
DA weight assigned to an edge
✗ Incorrect
A vertex is a point or node where edges meet in a graph.
Which type of edge has a direction?
AMixed edge
BWeighted edge
CUndirected edge
DDirected edge
✗ Incorrect
Directed edges have a direction from one vertex to another.
What does a weighted edge represent?
AA connection without direction
BA vertex in the graph
CA connection with a value like cost or distance
DAn isolated node
✗ Incorrect
Weighted edges carry values such as cost or distance.
In an undirected graph, edges are:
ATwo-way connections
BOne-way connections
CAlways weighted
DAlways disconnected
✗ Incorrect
Undirected edges connect vertices in both directions.
What is a mixed graph?
AA graph with only weighted edges
BA graph with both directed and undirected edges
CA graph with no edges
DA graph with isolated vertices
✗ Incorrect
Mixed graphs contain both directed and undirected edges.
Explain the difference between directed and undirected edges in a graph.
Think about how traffic flows on roads.
You got /3 concepts.
Describe what a weighted graph is and why weights might be useful.
Imagine planning a trip with distances or costs.
You got /3 concepts.
Practice
(1/5)
1. In graph terminology, what is a vertex?
easy
A. A line connecting two nodes
B. A point or node in the graph where edges meet
C. A graph with no edges
D. A graph that has weights on edges
Solution
Step 1: Understand the definition of vertex
A vertex is a fundamental unit in a graph representing a point or node.
Step 2: Differentiate vertex from edges and graph types
Edges connect vertices; weights and graph types describe edges, not vertices.
Final Answer:
A point or node in the graph where edges meet -> Option B
Quick Check:
Vertex = node/point [OK]
Hint: Vertices are points/nodes, edges are connections [OK]
Common Mistakes:
Confusing edges with vertices
Thinking weights define vertices
Mixing graph types with vertex definition
2. Which of the following is the correct way to represent a directed edge from vertex A to vertex B in JavaScript adjacency list?
easy
A. { A: ['B'], B: ['A'] }
B. { A: [], B: ['A'] }
C. { A: ['B'], B: [] }
D. { A: [], B: [] }
Solution
Step 1: Understand adjacency list for directed edges
In a directed graph, an edge from A to B means B is in A's adjacency list.
Step 2: Check each option's adjacency list
{ A: ['B'], B: [] } shows B in A's list and empty list for B, correctly representing A -> B.
Final Answer:
{ A: ['B'], B: [] } -> Option C
Quick Check:
Directed edge A->B means B in A's list [OK]
Hint: Directed edge means target vertex in source's adjacency list [OK]
Common Mistakes:
Adding reverse edge for directed graph
Leaving adjacency list empty for source vertex
Confusing undirected with directed representation
3. What will be the output of the following JavaScript code representing an undirected weighted graph adjacency list?
graph['A'] is an array with two objects: first with weight 3, second with weight 5.
Step 2: Access the second element's weight
graph['A'][1] is the second object { node: 'C', weight: 5 }, so weight is 5.
Final Answer:
5 -> Option A
Quick Check:
graph['A'][1].weight = 5 [OK]
Hint: Index 1 means second element; check its weight property [OK]
Common Mistakes:
Confusing index 0 and 1
Accessing weight on wrong node
Assuming undirected means no weights
4. Identify the error in this JavaScript code snippet representing a directed graph adjacency list:
const graph = {
A: ['B'],
B: ['C'],
C: ['A']
};
// Add edge from B to A
graph.B.push('A');
// Add edge from C to B
graph.C.push('B');
console.log(graph);
medium
A. Edges added duplicate existing edges incorrectly
B. Edges added create a cycle, which is invalid
C. The graph object is mutated incorrectly causing unexpected behavior
D. No error, code correctly adds edges
Solution
Step 1: Check initial graph structure
Graph has directed edges A->B, B->C, C->A forming a cycle, which is allowed.
Step 2: Verify edge additions
Adding B->A and C->B edges extends the graph; push method correctly mutates adjacency lists.
Final Answer:
No error, code correctly adds edges -> Option D
Quick Check:
push adds edges correctly; cycles allowed [OK]
Hint: push adds edges; cycles allowed in directed graphs [OK]
Common Mistakes:
Thinking cycles are invalid in directed graphs
Assuming push does not mutate arrays
Confusing undirected with directed edge additions
5. You have an undirected weighted graph represented as an adjacency list in JavaScript: