総合トップ
エンジニア転職
未経験の転職
新卒就活
プログラミング学習
ゲーム/マンガ
paizaとは?
講座一覧
問題集
スキルチェック
有料プラン
法人向け
学校フリーパス
ログイン
新規登録
メニュー
ログイン
講座一覧
スキルチェックを受ける
PC推奨
法人プラン
学校向け
おすすめコンテンツ
オフィス訪問
paizaの教育活用事例
4コマ漫画 ぱいじょ!
ゲームイベント一覧
paizaのサービス一覧
paiza転職(中途転職者向け)
paiza新卒(学生向け)
EN:TRY(未経験向け)
paizaラーニング(プログラミング学習)
paizaラーニングトップ
Java
アルゴリズム
アルゴリズム入門編レッスン一覧
アルゴリズム入門編: 「ハノイの塔」を学ぶチャプター一覧
javascriptを有効にして下さい。
アルゴリズム入門編: 「ハノイの塔」を学ぶ
一部無料
有料プラン
Tweet
チャプター一覧
01:ハノイの塔の問題を理解しよう
(4:54)
無料公開中
このレッスンでは、アルゴリズムの定番問題である「ハノイの塔」について学習します。 「ハノイの塔」は、paizaスキルチェックのAランク相当の問題です。
このチャプターを受講する
アルゴリズム解説
paizaランクA解説
Java
アルゴリズム
02:ハノイの塔のデータ構造を考えよう
(5:15)
無料公開中
ここでは、ハノイの塔のプログラムを作るために、データ構造を考えます。そして、プログラムの初期化部分と、それを表示させる部分を作成しましょう。
このチャプターを受講する
paizaランクA解説
Java
アルゴリズム
03:1つの円盤を動かす処理
(3:07)
ここでは、ハノイの塔で、円盤を1枚移動するメソッドを作成します。先ほどのチャプターでは、このようにハノイの塔を初期化するメソッドと、それを出力するメソッドを作成しました。今回は、この初期化したデータから、1枚の円盤を動かします。
このチャプターを受講する
paizaランクA解説
Java
アルゴリズム
04:円盤が1枚、2枚、3枚のときの解法を考えよう
(3:51)
ここでは、円盤の枚数を増やした時に、どのように移動させるのか、いろいろ試してみたいと思います。円盤が1枚や2枚なら簡単ですが、3枚以上の時、どんな手順になるのか、プログラムで記述してみましょう。
このチャプターを受講する
paizaランクA解説
Java
アルゴリズム
05:一般的な解法を考えよう
(3:34)
ここでは、ハノイの塔をプログラムで実現するため、一般的な解法の手順を考えます。 先ほどのチャプタでは、1枚・2枚・3枚の円盤を動かす手順を、手動でやってみました。ここから、再帰呼び出しで円盤を動かす手順を見つけ出しましょう。
このチャプターを受講する
paizaランクA解説
Java
アルゴリズム
06:再帰で実装する
(4:02)
ここでは、ハノイの塔で円盤を動かす手順を、再帰呼び出しで実装します。 大きな問題を解くために、より小さな問題の答えを使っていく 場合、再帰呼び出しで実装できます。
このチャプターを受講する
再帰
if文
条件分岐
paizaランクA解説
Java
アルゴリズム
07:カウントを追加する
(3:32)
ここからは、応用編として、ハノイの塔プログラムを効率よく実行する方法を考えます。ここでは、移動する円盤の枚数が増えた時、移動回数がどうなるか調べましょう。そのために、円盤の移動回数を表示するカウント変数を追加します。
このチャプターを受講する
再帰
ループ
for文
paizaランクA解説
Java
アルゴリズム
08:円盤の移動回数を調べる
(3:55)
ここでは、追加したカウント変数を利用して、円盤の枚数が変化した時、その移動回数を調べます。
このチャプターを受講する
再帰
paizaランクA解説
Java
アルゴリズム
09:特定のステップの状態を表示する
(4:56)
ここでは、円盤の枚数と回数を指定したとき、その時の円盤の状態を出力するプログラムを作ります。先ほど、追加したカウント変数を利用して、指定回数になった時に、その状態を表示させます。
このチャプターを受講する
再帰
if文
条件分岐
else文
paizaランクA解説
Java
アルゴリズム
10:まとめて移動して、再帰を省略
(6:09)
ここでは、ハノイの塔のプログラムで、再帰処理の回数を減らして、円盤の枚数が多くなっても、状態を出力できるようにプログラムを改良します。
このチャプターを受講する
再帰
ループ
for文
if文
条件分岐
else文
paizaランクA解説
Java
アルゴリズム
前のレッスンへ
次のレッスンへ