hardDSA

When would you use BFS over Dijkstra for shortest paths?

646 views
01

Understand the problem

Compare BFS and Dijkstra.

graphsshortest-path
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

BFS shortest path (unweighted)
Run Playground
from collections import deque

def bfs_shortest(graph, src, dst):
    q = deque([(src, 0)])
    seen = {src}
    while q:
        node, dist = q.popleft()
        if node == dst:
            return dist
        for nb in graph[node]:
            if nb not in seen:
                seen.add(nb)
                q.append((nb, dist + 1))
    return -1


# --- demo ---  unweighted graph
graph = {0: [1, 2], 1: [0, 3], 2: [0, 3], 3: [1, 2, 4], 4: [3]}
print(bfs_shortest(graph, 0, 4))   # 3
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.