跳到主要内容
Z

BFS vs DFS

BFS vs DFS compared — data structure, shortest paths, memory and use cases, with interactive visualizers for both.

Breadth-first search (BFS) explores a graph level by level with a queue; depth-first search (DFS) dives down one branch with a stack (or recursion). Both visit every node in O(V + E) but suit different problems.

BFS vs DFS at a glance

BFS DFS
Data structure Queue (FIFO) Stack / recursion
Shortest path (unweighted) Yes No
Memory Wide frontier Path depth
Best for Shortest paths, levels Cycles, topological sort, mazes

When to use BFS

Use BFS for shortest paths on unweighted graphs and level-order traversal.

When to use DFS

Use DFS for cycle detection, topological sorting, and exploring all paths.

Tools for BFS & DFS

BFS vs DFS

递归分割算法是如何生成迷宫的?

它从一个空白区域开始,然后递归地用一堵带有随机缺口的直墙分割每个空间,如此反复,直到空间小到无法继续分割。

什么是「完美迷宫」?

指任意两个格子之间有且仅有一条路径的迷宫——没有环路,也没有孤立区域。递归分割算法生成的始终是完美迷宫。

我可以求解这个迷宫吗?

可以——把这个布局复制到 BFS、Dijkstra 或 A* 可视化工具中(它们使用相同的方格网格),即可查看寻路算法如何穿过它。

还有哪些其他的迷宫生成算法?

递归回溯(随机化 DFS)、Prim 算法、Kruskal 算法、Wilson 算法和 Eller 算法——每种算法生成的迷宫在视觉结构上都各具特色。