『アルゴリズム入門編: 「ハノイの塔」を学ぶ (全10回)』
メモ
#01:ハノイの塔の問題を理解しよう
- 参考になるWebサイト
- ハノイの塔:移動のルール
- 一度に移動できるのは、1枚だけ
- 一度の移動では、一番上の円盤を別の杭に一番上に移動する
- 上の円盤は、下の円盤より小さくなければならない
#02:ハノイの塔のデータ構造を考えよう
- 変数の用意と初期化メソッド、printメソッドの作成
#03:1つの円盤を動かす処理
- 円盤を動かすメソッドの作成
#04:円盤が1枚、2枚、3枚のときの解法を考えよう
- 1つ1つ指定して移動。
#05:一般的な解法を考えよう
- 再帰呼び出しを使う方法
#06:再帰で実装する
- 再帰呼び出しの実装
※ なぜそうなるのかよく分からんが、たった数行でハノイの塔が解けるなんて!?😲
ここで、ジョブが進化
#07:カウントを追加する
- カウントを追加
#08:円盤の移動回数を調べる
- 円盤の枚数と移動回数
枚数 | 移動回数 |
---|---|
1 | 1 |
2 | 3 |
3 | 7 |
4 | 15 |
5 | 31 |
※ 前回の移動回数×2+1の関係だな
- 移動回数=2^n-1
#09:特定のステップの状態を表示する
- 指定したステップの状態を表示
#10:まとめて移動して、再帰を省略
- 再帰処理を減らして、円盤が多くても対応
認定証
学習ステータス
なんか文字が表示された状態でスクショされちゃったな😅
※コメント投稿者のブログIDはブログ作成者のみに通知されます