← 返回算法可视化主页

🧩 全排列探险记 DFS · 递归 · 回溯

一步步看计算机怎么把数字 1~n 的所有排列找出来

找到 0 / 6步骤 0
就绪

🌊 DFS 深度优先

选了一个数字就继续选下一个,直到排满所有位置。走不通了再回头——「一条路走到黑」。

🔄 回溯

走到底发现没路了,就退一步,把刚才选的数字「还回去」(标记擦掉),试试别的选择。

📋 标记数组 flag[ ]

每个数字有一个「小旗子」:用了就插旗(×),回溯时拔旗(○),这样就不会重复选。

💡 第一步
点击 「下一步」 看计算机怎么找出所有排列!键盘 ← → 控制,空格键自动播放。

📦 排列 b[ ] 填第 -

🚩 标记 flag[ ]

可用 正在填 已填

🌳 决策树 (黄色高亮 = 当前位置)

准备好了,点「下一步」→
路径中当前位置 已完成未探索

📄 C++ 代码 · 高亮行 = 当前执行

行 8

📖 运行日记

准备好了,点「下一步」→