メインコンテンツへスキップ
Z

ハノイの塔シミュレーター

ハノイの塔問題を再帰的に解くシミュレーター — 最小手数2ⁿ−1で円盤を移動し、ステップごとに操作を確認できます。ブラウザ上でそのまま動作します。

無料 登録不要 クライアントサイド プライバシーに配慮 Updated

/

疑似コード

Press Run to animate the algorithm.

使い方

  1. 1 「Run」を押すと、再帰的な解法が柱Aから柱Cへ円盤を1枚ずつ移動していく様子が見られます。
  2. 2 大きい円盤が小さい円盤の上に置かれることは決してありません——このルールが常に守られていることを確認してください。
  3. 3 「Shuffle」で円盤の枚数を変更したり、1手ずつ進めて確認したりできます。
  4. 4 n枚の円盤に必要な最小手数は2ⁿ − 1です。

このツールを使う理由

  • n−1枚を補助の柱へ移し、最も大きい円盤を動かし、それらを元に戻すという、再帰の代表的な例を目で確認できます。
  • 円盤が1枚増えるごとに手数が倍増する理由(2ⁿ − 1)を理解できます。
  • 再帰的な問題分解を学ぶ入門例として最適です。
  • すべてブラウザ内で完結——登録不要、アップロード不要です。

よくある質問

ハノイの塔とは何ですか?

3本の柱と、大きさの異なる円盤を積み重ねたパズルです。目標は、円盤を1枚ずつ動かし、大きい円盤を小さい円盤の上に置かないようにしながら、すべての円盤を別の柱に移すことです。

何手必要ですか?

n枚の円盤に必要な最小手数は2ⁿ − 1です——3枚なら7手、5枚なら31手、20枚では100万手を超えます。

再帰的な解法はどのように動きますか?

n枚の円盤をAからCへ移すには、まずn−1枚をAからBへ再帰的に移動し、最も大きい円盤をAからCへ動かし、そのn−1枚をBからCへ再帰的に移動します。

なぜこれが再帰の代表例とされるのですか?

サイズnの問題を、サイズn−1の問題2つと1回の移動に分解できる点が、まさに再帰的な問題分解の本質を表しているからです。

ハノイの塔シミュレーター とは?

ハノイの塔シミュレーターは、3本の柱を使う定番パズルの再帰的な解法を可視化します。n枚の円盤を移動するには、まずn−1枚を補助の柱へ移し、最も大きい円盤を動かし、そのn−1枚を元の位置へ戻す——大きい円盤を小さい円盤の上に置くことは決してなく、2ⁿ−1手で完了します。

機能

ステップごとのアニメーション

最適な再帰的解法が円盤を杭の間で移動させる様子を見ることができます。

計算量

ちょうど2ⁿ − 1回の移動 → O(2ⁿ)の時間計算量。空間計算量:再帰の深さO(n)。

100%プライベート

完全にブラウザ内で実行されます — 何もアップロードされません。

Input

3 disks

Output

2³ − 1 = 7 moves (optimal)

主な用途

  1. 1

    再帰を学ぶ

    問題が2つのより小さな部分問題にどのように帰着するかを見てみましょう。

  2. 2

    指数関数的な増加を理解する

    円盤を1枚追加するごとに移動回数が倍増する様子(2ⁿ − 1)を観察します。

  3. 3

    分割統治法を教える

    明快な再帰的分解を示します。

概要

Zerethonのハノイの塔ビジュアライザーは、この古典的な再帰パズルをブラウザ上でアニメーション表示します。円盤の山を1本の杭から別の杭へ移動させ、大きな円盤を小さな円盤の上に置くことは決してありません。n枚の円盤を解くにはちょうど2ⁿ − 1回の移動が必要で — O(2ⁿ)の時間計算量 — 再帰の深さはO(n)です。再帰の教科書的な例です。

カテゴリ
アルゴリズム
料金
無料
プライバシー
ブラウザベース
登録
不要

参考文献

プライバシー

明記されない限り、データがブラウザの外に送信されることはありません。ハノイの塔シミュレーター は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。

初めての方へ。Big-O 解析付きのステップバイステップ解説を読む: Dynamic Programming を学ぶ →

関連ツール

Zerethon Social で作成・共有・成長しよう

無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。

Zerethon を無料で試す