Согласованность дуги в Java, вопросы по реализации

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

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

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

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

1 ответ

Решение

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

Удачи!

Другие вопросы по тегам