理论上,N-Queens难题可以在多项式时间内求解吗?如果是这样,它的最大复杂性是什么?我找到了很多算法,但我还没有找到时间复杂度究竟是什么。是否有任何文件或文件给出其复杂性的确切数量?
(P.S。显式解决方案非常有趣,但我忘了说,我希望找到所有解决方案。)
答案 0 :(得分:7)
此链接引用了“众所周知的”显式解决方案。它可以在线性时间内计算:
n是偶数但不是形式(n mod 6 = 2)。 将皇后放在正方形上 (m,2m)和(n / 2 + m,2m-1)m = 1,2,.... 。 。 ,n / 2
n是偶数但不是形式(n mod 6 = 0)和 将皇后放在正方形上 (m,1 +(2(m-1)+ n / 2 - 1)mod n)和 (n + 1-m,n-(2(m-1)+ n / 2 -1)mod n)m = 1,2,...,n / 2
- 醇>
n很奇怪。 在n - 1上使用(1)或(2),以适当的为准,并在(n,n)处以女王的身份延伸。
请注意,枚举所有解决方案需要更长时间。解决方案的数量随着电路板的大小(http://oeis.org/A000170)呈指数级增长,因此即使2^O(x)
时间也不可能枚举(但只需要O(n)
个空间)。< / p>
答案 1 :(得分:1)
您的意思是找到一个解决方案或所有解决方案吗?根据维基百科的说法,如果你只想找到一个解决方案,这可以简单地完成。
在n×n板上放置n个皇后的显式解决方案, 不需要任何组合搜索。