Donc mon but est d'écrire la méthode qui résout un puzzle de sudoku, on nous a donné la méthode stub "public int [] [] solve (int [] [] board)". Nous sommes censés utiliser arc consistency et domain splitting pour trouver la solution.Arc Consistance en Java, questions sur la mise en œuvre
-La façon dont j'ai commencé à le faire était de faire un hashMap de points sur la carte (clés) et leurs domaines actuels (initialisé à 1..9 sauf indication) ->HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();
mais je ne suis pas sûr si c'est la meilleure structure de données à utiliser.
-Mon question est de savoir comment représenter les arcs et les contraintes? J'ai un pseudo code pour l'algorithme mais je ne sais pas comment représenter les contraintes/arcs en java. Quel est le meilleur moyen de représenter C: ensemble de contraintes à satisfaire (qui sont les emplacements valides sur un tableau de sudoku) ainsi que mes arcs A < X, c> où X est un point et c les contraintes.
Je vous remercie d'avance pour votre utile commentaires.
Considérez également 'Map> curDomains = new HashMap >()', qui utilise les interfaces et cache les implémentations. –
trashgod