Да, я знаю, что это не ничто нового и уже существует много вопросов там (оно даже имеет свой собственный тег), но я хотел бы создать Решатель Судоку в Java только в целях обучения сам для написания кода, который более эффективен.
Вероятно, самый легкий способ сделать это в программе, имеют тонну для синтаксического анализа циклов через каждый столбец и строку, собирают возможные значения каждой ячейки, затем избавляются от ячеек только с одной возможностью (содержат ли они только 1 число, или они - единственная ячейка в своей строке/столбец, которая содержит это число), пока у Вас нет решенной загадки. Конечно, чистая мысль о действии должна повысить красный флаг в уме каждого программиста.
То, что я ищу, является методологией для движения о решении этого сосунка самым эффективным возможным способом (попытайтесь не включать слишком много кода - я хочу понять это часть, сам).
Я хочу избежать математических алгоритмов, если бы вообще возможный - это было бы слишком легко и 100% не моя работа.
Если кто-то мог бы обеспечить пошаговый, эффективный мыслительный процесс для решения Судоку (ли человеком или компьютером), я буду самым счастливым :). Я ищу что-то, что это неопределенно (таким образом, это - проблема), но достаточно информативный (таким образом, я не полностью потерян) запустить меня.
Большое спасибо,
Justian Meyer
Править:
Смотря на мой код, я добрался до взглядов: что было бы некоторыми возможностями для хранения этих состояний решения (т.е. сетка Судоку). 2D Массивы и 3D Массивы приходят на ум. Который мог бы быть лучшим? 2D могло бы быть легче справиться от поверхности, но 3D Массивы обеспечат "поле" / число "клетки" также.
Править:
Nevermind. Я собираюсь идти с 3D массивом.