Ханойские башни. Помощь новичку ( разбор задачи )

Revision ru1, by mohalllka, 2015-11-03 19:31:42

Привет всем, снова. Простите меня за появление с глупыми вопросами, но хочу обучиться и обратиться не к кому :)

P.S. Спасибо всем за помощь, которую предоставили и предоставят.

Я учу сейчас рекурсию и дошел до задачи ханойские башни. К моему сожалению, я не умею еще писать рекурсию быстро и правильно. Я разобрал эту задачу и прошу вас сказать, правильное ли это решение. Ответы смотреть не хочу, т.к. считаю, что самостоятельный разбор — более эффективен, нежели просмотра ЛКШ лекций и тому подобного.

Я придумал примерно такое решение задачи: Будем перекладывать на диск 3 или 1 ( зависит от того, с какого диска мы перекладываем ) пирамиду высотой n-1, при этом используя второй стержень как вспомогательный, для формирования башни на другом стержне.

У меня возникли такие вопросы:

1) Будет ли этот метод решать задачу за минимальное кол-во перекладывания?

2) Как хранить в каком месте находится как пирамида? ( Я лишь предположил создать массив из трех элементов, но дальше ничего не придумал :( )

3) Да и вообще, будет ли работать мое решение?

4) Если этот алгоритм решения верный, то он будет работать за O(n^2-1)?

P.P.S. Знаю, самый толковый совет: "Напиши и проверь", но вернусь к началу — я не умею писать такую сложную, для меня, рекурсию.

Tags помощь, рекурсия, ханойские башни

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
ru2 Russian mohalllka 2015-11-03 19:34:04 12
ru1 Russian mohalllka 2015-11-03 19:31:42 1447 Первая редакция (опубликовано)