1

所以我的目标是编写解决数独难题的方法,我们得到了方法存根“public int[][] solve(int[][] board)”。我们应该使用弧一致性域分割来找到解决方案。

- 我开始这样做的方式是在板上(键)及其当前域(初始化为 1..9,除非给定)上制作点的 hashMap ->HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();虽然我不确定这是否是最好的数据结构利用。

-我的问题是如何表示弧和约束?我有算法的伪代码,但我不知道如何在 java 中表示约束/弧。表示C 的最佳方法是什么:要满足的一组约束(它们是数独板上的有效位置)以及我的弧 A < X, c> 其中 X 是一个点,c 是约束。

我提前感谢您的有益评论。

4

1 回答 1

0

在使用 Arc 一致性时,这将是最好的阅读数据结构相关的理解。希望对你有帮助!

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.8824&rep=rep1&type=pdf&ei=XdqgTqmgDIblrAex-Z3fAg&usg=AFQjCNEKp1FtiYbaea6dvF6u7ppVOk-fFg&sig2=duzyH2nU89MYUskD8Blffw

上面的链接会给你重定向通知,只需访问该大学网站并下载 PDF。

祝你好运!

于 2011-10-21T02:40:13.793 回答