@Urukhayy

Возможен ли универсальный абстрактный алгоритм подхода к решению нетривиальных задач?

К примеру, есть задача о Ханойских башнях.

Один из опытных программистов предложил решение этой задачи рекурсией: оно очень изящно, и занимает всего 20-30 строк сложного кода на Java. Но понять что там, внутри, в рекурсии, происходит не так просто - на то это и рекурсивное решение. Но ведь к этому рекурсивному решению как-то подошли, и задача нетривиальна. Есть ли общий абстрактный алгоритм решения таких необычных задач? Быть может есть что-то вроде плана: анализ, осмотр граней задачи и т.п.

Чтобы в случаях, когда встает новая необычная задача, не затрачивалось бы время на неправильные решения, или затрачивалось бы меньше.
  • Вопрос задан
  • 316 просмотров
Пригласить эксперта
Ответы на вопрос 4
usdglander
@usdglander
Yipee-ki-yay
Нетривиальные задачи на то и нетривиальные, что для них не существует общего метода решения. Обычно просто надо посмотреть на задачу под нужным углом, чтобы решение пришло само!
Ответ написан
Rou1997
@Rou1997
Да, для всех задач в программировании одно-единственное решение существует.
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
На самом деле, ханойская башня - пример тривиальной задачи, и решается практически всегда именно рекурсией, по принципу индукции - решение задачи по перекладыванию N колец со стержня A на стержень C - это перекладывание N-1 кольца с A на B, 1 кольца с A на C и N-1 кольца с B на C.
Ответ написан
Комментировать
@gghaker
Упростить задачу до безобразия и/или представить её по другому и опять упростить до безобразия, после чего включается мозг и "подсвечивает" возможные пути решения.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы