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

Правка ru2, от mohalllka, 2015-11-03 19:34:04

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

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

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

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

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

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

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

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

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

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

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

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
ru2 Русский mohalllka 2015-11-03 19:34:04 12
ru1 Русский mohalllka 2015-11-03 19:31:42 1447 Первая редакция (опубликовано)