PracHub
QuestionsCoachesLearningGuidesInterview Prep

Quick Overview

This question evaluates understanding of graph traversal algorithms, particularly breadth-first search, and competency in computing shortest paths and reconstructing an example shortest route in large undirected graphs.

  • medium
  • Amazon
  • Coding & Algorithms
  • Data Scientist

Implement BFS to Find Shortest Path in Graph

Company: Amazon

Role: Data Scientist

Category: Coding & Algorithms

Difficulty: medium

Interview Round: Technical Screen

##### Scenario Social network needs to compute the shortest friend-distance between two users in an undirected graph containing millions of nodes. ##### Question Implement an iterative BFS that returns the minimum number of hops between a source and target user. Extend the function to also return one of the actual shortest paths. ##### Hints Use a queue, visited set, and early exit when target is found.

Quick Answer: This question evaluates understanding of graph traversal algorithms, particularly breadth-first search, and competency in computing shortest paths and reconstructing an example shortest route in large undirected graphs.

Given an undirected, unweighted graph with n nodes labeled 0..n-1 and a list of edges edges where each edge is [u, v], implement an iterative BFS that returns the minimum number of hops (edges) between source and target and one corresponding shortest path. Return a dictionary: {"distance": d, "path": p}. If target is unreachable, return {"distance": -1, "path": []}. The path must start at source and end at target. If source == target, return {"distance": 0, "path": [source]}.

Constraints

  • 1 <= n <= 200000
  • 0 <= len(edges) <= 400000
  • 0 <= u, v < n for every edge [u, v]
  • 0 <= source, target < n
  • Graph is undirected and may be disconnected
  • Implement iterative BFS using a queue (no recursion)
  • Return one shortest path; if none exists, return distance -1 and empty path

Hints

  1. Use a queue and a visited structure to explore nodes level by level.
  2. Track each node's predecessor to reconstruct the path once the target is found.
  3. You can stop the BFS as soon as the target is discovered; distance is path length minus one.
Last updated: Mar 29, 2026

Loading coding console...

PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.

Related Coding Questions

  • Find a Maximum-Sum Window in a Sparse Array - Amazon (hard)
  • Find Two-Word Compound Words - Amazon (hard)
  • Unify Stock-Trading Profit Variants - Amazon (easy)
  • Implement Regular Expression Matching - Amazon (easy)
  • Minimum Path Length Through a Grid With One Allowed Cell Conversion - Amazon (medium)