フィボナッチ数列ビジュアライザー
フィボナッチ数列の生成過程をアニメーションで可視化 — 各項は直前の2項の和で、ステップごとの操作ボタンで一項ずつ組み立てられます。ブラウザ上ですぐに動作します。
疑似コード
Run an operation to see its steps.
Avg · Worst
使い方
- 1 生成したい項数(最大30)を入力し「Build sequence」を押します。
- 2 各新しい項は直前の2項の和です — ハイライトされた2つのマスが足し合わされる様子を確認しましょう。
- 3 1ステップずつ前後に移動するか、Random(ランダム)ボタンを使います。
- 4 数列は F(0) = 0、F(1) = 1 から始まります。
このツールを使う理由
- 遅い再帰を使わず、O(n) の反復方式でフィボナッチ数列が組み立てられる様子を確認できます。
- 各項が直前の2項の和からどう生まれるかを一項ずつ観察できます。
- 単純な再帰がなぜ指数時間で非効率なのか、反復法が優れている理由を理解できます。
- すべてブラウザ内で完結します。登録もアップロードも不要です。
よくある質問
フィボナッチ数列とは何ですか?
各項が直前の2項の和になっている数列で、0, 1, 1, 2, 3, 5, 8, 13, 21, … と続きます。数学や自然界の様々な場面に現れます。
フィボナッチ数を求める時間計算量はどれくらいですか?
このツールで使う反復法は時間計算量 O(n)、空間計算量 O(1) です。単純な再帰は O(2ⁿ)、メモ化(動的計画法)を使った再帰は O(n) になります。
なぜ単純な再帰によるフィボナッチ計算はあれほど遅いのですか?
同じ部分問題を指数的に何度も計算し直してしまうためです。メモ化やループを使えば各項を一度だけ計算するようになり、O(2ⁿ) が O(n) に改善されます。
黄金比との関係は何ですか?
隣り合うフィボナッチ数の比 F(n+1)/F(n) は、n が大きくなるにつれて黄金比 φ ≈ 1.618 に近づいていきます。
フィボナッチ数列ビジュアライザー とは?
フィボナッチ数列ビジュアライザーは、F(0)=0、F(1)=1 から始まり F(i) = F(i-1) + F(i-2) で各項を求める反復方式で数列を生成します。計算中の2つの項と新たに生まれる項をハイライト表示し、O(n) の時間計算量で動作します。
機能
ステップごとのアニメーション
項が積み上がっていく様子を観察し、再帰木における重複した部分問題を確認できます。
計算量
素朴な再帰: O(φⁿ)(指数関数的)。反復 / メモ化: 時間計算量O(n)、空間計算量O(1)。
100%プライベート
すべてブラウザ内で完結し、何もアップロードされません。
例
Input
first 7 terms
Output
0, 1, 1, 2, 3, 5, 8 (F(6) = 8)
主な用途
-
1
メモ化の意義を理解する
再帰木が同じ部分問題を再計算してしまう理由と、動的計画法(DP)によってそれをどう解決するかを確認できます。
-
2
数列を学ぶ
加法規則とその黄金比との関係を理解します。
-
3
再帰 対 反復
指数関数的な再帰と線形な反復を比較します。
Zerethonのフィボナッチビジュアライザーは、各項が直前の2つの項の和になる様子(0, 1, 1, 2, 3, 5, 8, …)をブラウザ上でアニメーション表示し、指数関数的な素朴な再帰と線形の反復/メモ化アプローチの両方を視覚化します。素朴な再帰はO(φⁿ)(≈ O(1.618ⁿ))であり、反復法は時間計算量O(n)、空間計算量O(1)です。
- カテゴリ
- アルゴリズム
- 料金
- 無料
- プライバシー
- ブラウザベース
- 登録
- 不要
参考文献
- Fibonacci Number — Wolfram MathWorld — Wolfram MathWorld
- フィボナッチ数列 — Wikipedia
プライバシー
明記されない限り、データがブラウザの外に送信されることはありません。フィボナッチ数列ビジュアライザー は完全にクライアント側で動作します — サーバーへのアップロードなし、ログなし、入力内容のトラッキングなし。
初めての方へ。Big-O 解析付きのステップバイステップ解説を読む: Dynamic Programming を学ぶ →
関連ツール
バブルソート ビジュアライザー
バブルソートの動きをアニメーションで確認できるツール。ステップ実行や速度調整、カスタム入力データ、比較・交換回数のリアルタイム表示、擬似コードの表示に対応しています。すべてブラウザ内だけで動作します。
ツールを開く挿入ソート(Insertion Sort)ビジュアライザー
挿入ソートをアニメーションで可視化。ステップ実行や速度調整、カスタム入力、比較回数・書き込み回数のリアルタイム表示、疑似コード(pseudocode)表示に対応。すべてブラウザ内で完結します。
ツールを開く選択ソート(Selection Sort)ビジュアライザー
ステップ実行、速度調整、カスタム入力、比較/交換回数のライブカウンター、擬似コードを備えたSelection Sortのアニメーション。すべてブラウザ内だけで完結します。
ツールを開くマージソート ビジュアライザー
マージソートの動きをアニメーションで再現するツールです。ステップ実行、速度調整、独自のデータ入力、比較・書き込み回数のリアルタイム表示、擬似コード表示に対応。すべてブラウザ上だけで動作します。
ツールを開くZerethon Social で作成・共有・成長しよう
無料登録。ポイントを獲得し、実績を集め、世界中のクリエイターとつながりましょう。