我已经通过使用回溯算法解决了 N-Queen 问题,并且可以在 C# 中生成所有独特且不同的解决方案。虽然,我已经通过在每一行中找到有效位置来限制递归级别,但对于 N > 15,该算法将非常缓慢。我怀疑原因是每个新解决方案我必须生成所有 8 个对称对应项并检查这个与已经找到了解决方案。如果这些都不包括在内,则可以将新解决方案添加到唯一解决方案中。
我在某处看到一个提示,将校验和附加到每个解决方案并创建一个字典,其中校验和将是关键,解决方案是列表。我找不到这篇文章,否则对校验和的概念来说是非常新的。
对此问题的任何帮助将不胜感激。