Skip to content

Graph Traversal Algorithms: BFS and DFSActivities & Teaching Strategies

Active learning works for graph traversal because these algorithms are highly procedural and spatial. When students physically act out or visually trace traversal steps, they internalize the queue and stack behaviors that define BFS and DFS, turning abstract data structures into concrete experiences.

12th GradeComputer Science4 activities20 min30 min

Learning Objectives

  1. 1Compare the step-by-step execution of Breadth-First Search (BFS) and Depth-First Search (DFS) on a given graph, identifying differences in node visitation order.
  2. 2Analyze the time and space complexity of BFS and DFS algorithms for both adjacency list and adjacency matrix graph representations.
  3. 3Design and implement a BFS or DFS algorithm in Python to find the shortest path in an unweighted graph or detect a cycle in a directed graph.
  4. 4Evaluate the suitability of BFS versus DFS for solving specific pathfinding problems, such as finding the quickest route versus exploring all possible branches.
  5. 5Critique the efficiency of BFS and DFS implementations based on graph density and size, justifying choices for optimal performance.

Want a complete lesson plan with these objectives? Generate a Mission

25 min·Whole Class

Simulation Game: Human BFS and DFS Race

Draw a connected graph with 10 labeled nodes on a whiteboard. Two volunteer traversers start at the same source node: one uses BFS rules and explores all current neighbors before going deeper, the other uses DFS rules and goes deep before backing up. The class acts as the queue or stack, calling out which node each traverser visits next.

Prepare & details

Differentiate between the applications of BFS and DFS in real-world problems.

Facilitation Tip: During the Human BFS and DFS Race, have students physically form a queue and stack using their bodies to reinforce the data structure behaviors that drive each algorithm.

Setup: Flexible space for group stations

Materials: Role cards with goals/resources, Game currency or tokens, Round tracker

ApplyAnalyzeEvaluateCreateSocial AwarenessDecision-Making
30 min·Small Groups

Problem Solving: Social Network Degree of Separation

Give student groups a small social network graph of 10 to 15 nodes. Groups use BFS to find the shortest path between two specified people, recording each level of the BFS and the discovered path. Groups then discuss whether DFS would find the shortest path as reliably and why.

Prepare & details

Analyze the time and space complexity of BFS and DFS on different graph structures.

Facilitation Tip: For the Social Network Degree of Separation activity, provide a small hand-drawn social network graph so students can mark visited nodes and backtrack as they calculate degrees of separation.

Setup: Flexible space for group stations

Materials: Role cards with goals/resources, Game currency or tokens, Round tracker

ApplyAnalyzeEvaluateCreateSocial AwarenessDecision-Making
20 min·Pairs

Think-Pair-Share: Traversal Application Matching

Present 6 real-world problems including finding the shortest web path between Wikipedia articles, detecting loops in a dependency graph, crawling a directory tree, and finding any valid maze solution. Pairs match each problem to BFS or DFS and justify the choice before sharing with the class.

Prepare & details

Construct a graph traversal algorithm to solve a specific pathfinding problem.

Facilitation Tip: In the Think-Pair-Share, provide a clear rubric for matching scenarios to algorithms so students can justify their choices with evidence from the activity.

Setup: Standard classroom seating; students turn to a neighbor

Materials: Discussion prompt (projected or printed), Optional: recording sheet for pairs

UnderstandApplyAnalyzeSelf-AwarenessRelationship Skills
30 min·Pairs

Gallery Walk: Graph Complexity Analysis Cards

Post graph structure cards around the room covering dense directed, sparse undirected, tree, and grid graphs. Students annotate each with BFS and DFS time and space complexity, noting where the two algorithms differ meaningfully. Class discussion focuses on how adjacency list versus matrix representations affect complexity.

Prepare & details

Differentiate between the applications of BFS and DFS in real-world problems.

Setup: Wall space or tables arranged around room perimeter

Materials: Large paper/poster boards, Markers, Sticky notes for feedback

UnderstandApplyAnalyzeCreateRelationship SkillsSocial Awareness

Teaching This Topic

Teachers often start with small, hand-drawn graphs to build intuition before introducing code or formal pseudocode. Avoid rushing to implementation details; focus first on the discovery order and why it matters. Research suggests that students grasp BFS and DFS more deeply when they first experience the algorithms kinesthetically, then connect those movements to data structures, and finally apply them to meaningful problems.

What to Expect

Successful learning looks like students confidently choosing between BFS and DFS for different scenarios, accurately tracing traversal orders on paper, and explaining the trade-offs between memory usage and path discovery. They should also recognize that the choice of algorithm affects the outcome in practical applications.

These activities are a starting point. A full mission is the experience.

  • Complete facilitation script with teacher dialogue
  • Printable student materials, ready for class
  • Differentiation strategies for every learner
Generate a Mission

Watch Out for These Misconceptions

Common MisconceptionDuring the Simulation: Human BFS and DFS Race, watch for students who claim BFS and DFS visit nodes in the same order.

What to Teach Instead

Use the physical race setup to have students record the exact sequence of node visits for both BFS and DFS on the same graph. Point out that BFS explores all nodes at the current level before moving deeper, while DFS follows a single path as far as possible.

Common MisconceptionDuring the Problem Solving: Social Network Degree of Separation activity, watch for students who assume DFS must use recursion and BFS must use a while loop.

What to Teach Instead

Have students implement both DFS and BFS iteratively using explicit data structures (stack for DFS, queue for BFS) on their social network graphs to demonstrate that the looping mechanism is not tied to the algorithm.

Common MisconceptionDuring the Think-Pair-Share: Traversal Application Matching activity, watch for students who associate graph algorithms only with geographic or map-based problems.

What to Teach Instead

Provide non-geographic examples in the matching cards, such as software dependency resolution or social network analysis, and ask students to justify why BFS or DFS fits each scenario beyond traditional maps.

Assessment Ideas

Exit Ticket

After the Simulation: Human BFS and DFS Race, give students a small graph diagram and ask them to trace the order of node visits using BFS and DFS starting from a specified node, writing down the sequences for each.

Quick Check

During the Problem Solving: Social Network Degree of Separation activity, present students with two scenarios: 1) finding the closest connection between two people in a network, and 2) finding all possible paths between two people. Ask them to identify which algorithm is more appropriate for each scenario and briefly explain why.

Discussion Prompt

During the Think-Pair-Share: Traversal Application Matching activity, have students discuss the trade-offs between BFS and DFS in terms of memory usage. Prompt them with: 'When might DFS use significantly less memory than BFS, and when might BFS be more memory-intensive?' Have groups share their reasoning with the class.

Extensions & Scaffolding

  • Challenge students to design a graph where DFS uses significantly less memory than BFS and explain why.
  • For students who struggle, provide a partially completed traversal trace with blanks to fill in, focusing on one algorithm at a time.
  • Deeper exploration: Ask students to find a real-world API or dataset that uses graph traversal and present how the algorithm is applied in practice.

Key Vocabulary

GraphA data structure consisting of a set of nodes (vertices) and a set of edges connecting pairs of nodes.
Breadth-First Search (BFS)A graph traversal algorithm that explores all of the neighbor nodes at the present depth prior to moving on to the nodes at the next depth level. It uses a queue.
Depth-First Search (DFS)A graph traversal algorithm that explores as far as possible along each branch before backtracking. It typically uses a stack or recursion.
QueueA first-in, first-out (FIFO) data structure used in BFS to keep track of nodes to visit.
StackA last-in, first-out (LIFO) data structure used in DFS (or recursion) to keep track of nodes to visit or backtrack from.
Adjacency ListA representation of a graph where each node has a list of its adjacent nodes. This is often more space-efficient for sparse graphs.

Ready to teach Graph Traversal Algorithms: BFS and DFS?

Generate a full mission with everything you need

Generate a Mission