N 皇后可视化工具
动态演示回溯算法(backtracking)求解 N 皇后问题的过程——在棋盘上逐列尝试放置皇后、检测冲突、回溯撤销,并提供逐步执行的控制按钮。完全在浏览器中运行。
伪代码
Press Run to animate the algorithm.
Time · Space
使用方法
- 1 点击 Run,算法会按照回溯逻辑逐列放置皇后。
- 2 蓝色格子表示当前正在尝试的位置;红色格子表示与已放置的皇后冲突。
- 3 当某一列找不到安全的行时,搜索过程会自动回溯到前一列。
- 4 使用 Shuffle 切换不同大小的棋盘,或逐步执行以观察完整的搜索过程。
为什么使用此工具
- 直观看到回溯算法如何探索路径、遇到死胡同并撤销之前的选择。
- 理解安全放置条件:任意两个皇后不能同行、不能同列、也不能在同一条对角线上。
- 约束满足问题(constraint satisfaction)与回溯算法的经典范例。
- 完全在你的浏览器中运行,无需注册,无需上传文件。
常见问题
N 皇后问题是什么?
在 n×n 棋盘上放置 n 个皇后,使得任意两个皇后都不会互相攻击——即不同行、不同列,也不在同一条对角线上。
回溯算法是如何求解这个问题的?
按列依次放置皇后。对每一列逐行尝试:如果某个位置安全,就递归进入下一列;如果所有行都不安全,就回溯并在上一列尝试其他行。
该算法的时间复杂度是多少?
最坏情况下约为 O(n!),但通过剪除冲突位置,实际运行中通常能更快地找到一个解。
哪些 n 值存在解?
除了 2 和 3 之外,其余所有 n 都存在解。经典的 8 皇后问题共有 92 种不同的解。
什么是 N 皇后可视化工具?
N 皇后可视化工具动态展示了回溯搜索(backtracking)如何在 n×n 棋盘上放置 n 个皇后,使得任意两个皇后都不能互相攻击。算法在每一列中逐行尝试:一旦发现某个位置安全,就递归进入下一列;当某一列的所有行都不安全时,就回退到上一列重新尝试。
功能特性
Backtracking animation
Watch queens get placed and removed as conflicts are detected.
Complexity
Worst case exponential (≤ O(N!) placements, pruned heavily). Space: O(N).
100% private
Runs entirely in your browser — nothing is uploaded.
示例
Input
N = 4
Output
2 distinct solutions (N = 8 has 92)
常见使用场景
-
1
Learn backtracking
See how constraint checking and backtracking prune the search.
-
2
Constraint satisfaction
Understand a classic CSP with row/column/diagonal constraints.
-
3
Count solutions
Explore how the number of solutions grows with N.
Zerethon's N-Queens visualizer animates the backtracking search for placing N queens on an N×N board so none attack each other, in your browser. It places queens column by column and backtracks on conflicts. The search is exponential in the worst case (bounded by O(N!) placements, far fewer with pruning); space is O(N). There are 2 solutions for N=4 and 92 for N=8.
- 分类
- 算法
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
References
- Eight queens puzzle — Wikipedia
- MIT OCW 6.006 — Introduction to Algorithms (CLRS) — MIT OpenCourseWare
隐私
除非另有说明,否则你的数据永远不会离开浏览器。N 皇后可视化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
刚接触?阅读包含 Big-O 分析的分步讲解: 了解 Dynamic Programming →
相关工具
冒泡排序可视化工具
带动画演示的冒泡排序模拟器,提供单步执行、速度调节、自定义输入数据、实时比较/交换计数器以及伪代码同步高亮。完全在浏览器中运行。
打开工具插入排序可视化工具
动画演示插入排序算法,支持单步执行、速度调节、自定义输入数据,并实时显示比较/写入次数与伪代码高亮。完全在浏览器本地运行。
打开工具选择排序可视化工具
以动画方式演示选择排序(Selection Sort),提供逐步执行、速度调节、自定义输入数据、实时的比较/交换计数器以及伪代码展示。完全在浏览器本地运行。
打开工具归并排序可视化工具
带动画演示的归并排序模拟器,支持单步执行、速度调节、自定义输入数据、实时比较/写入计数器以及伪代码高亮显示。完全在浏览器中运行。
打开工具在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。