Согласованность дуги в Java, вопросы по реализации - PullRequest
1 голос
/ 21 октября 2011

Итак, моя цель - написать метод, который решает головоломку судоку, нам дали заглушку метода "public int [] [] solve (int [] [] board)". Мы должны использовать согласованность дуг и разбиение домена , чтобы найти решение.

-Как я начал это делать, создав хэш-карту точек на доске (ключей) и их текущих доменов (инициализированных до 1..9, если не указано) -> HashMap<Point, ArrayList<Integer>> curDomains = new HashMap<Point, ArrayList<Integer>>();, хотя я не уверен, если это лучшая структура данных для использования.

-Мой вопрос: как мне представить дуги и ограничения? У меня есть псевдокод для алгоритма, но я не знаю, как представить ограничения / дуги в Java. Как лучше всего представить C: набор удовлетворяемых ограничений (которые являются допустимыми местами размещения на доске судоку), а также мои дуги A , где X - это точка, а c это ограничения.

Заранее благодарю за ваши полезные комментарии.

1 Ответ

0 голосов
/ 21 октября 2011

Это было бы лучше всего прочитать для понимания структуры данных при работе с согласованностью 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.

Удачи!

...