2011-10-21 6 views
1

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.

+0

Considérez également 'Map > curDomains = new HashMap >()', qui utilise les interfaces et cache les implémentations. – trashgod

Répondre

0

Ce serait le meilleur à lire pour la compréhension de la structure de données tout en travaillant avec la cohérence Arc. J'espère que ceci vous aidera!

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

lien ci-dessus vous donnera un avis redirigez juste aller à ce site universitaire et télécharger PDF.

Bonne chance!

+0

Lorsque redirigée, est montré l'erreur suivante: « Aucun document DOI « 10.1.1.99.8824 » L'identifiant du document fourni ne correspond pas à aucun document dans notre référentiel. » – loodakrawa

+0

Ohhh je vais corriger cela une fois que je rentre à la maison :(désolé je ne peux pas vraiment accéder à l'ordinateur dans un magasin de bonbons lol – doNotCheckMyBlog

+0

Ok Que pensez-vous de ce travail? – doNotCheckMyBlog