Big-O記法リファレンス
インタラクティブなチャート、包括的なアルゴリズムデータベース、計算量評価で、O(1)からO(n!)までのアルゴリズム時間計算量を可視化・比較します。
このツールについて
Big-O記法リファレンスは、アルゴリズムの時間計算量と空間計算量を理解・比較するための 無料のブラウザベースツールです。コーディング面接の準備、データ構造とアルゴリズムの学習、 本番コードの最適化など、入力サイズの増加に伴う計算量クラスのスケーリングを 可視化できます。
インタラクティブな成長チャートは、O(1)、O(log n)、O(n)、O(n log n)、O(n²)、O(n³)、O(2ⁿ)、
O(n!)の曲線を並べて描画します。スライダーで入力サイズnを1から100まで
調整し、操作数の変化をリアルタイムで確認できます。
アルゴリズム検索タブでは、30以上の一般的なアルゴリズムを検索できます。 バイナリサーチ、マージソートからFloyd-Warshall、巡回セールスマン問題まで、 それぞれ時間計算量、空間計算量、カテゴリ、説明が付いています。
進数変換にはNumber Base Converter、 パフォーマンスベンチマークにはタイムスタンプコンバーターが役立ちます。
すべてのレンダリングと計算はブラウザ内で完全に実行されます。 データがサーバーに送信されることはありません。
使い方
- 成長チャートタブを開いて、すべての計算量曲線を確認します。**入力サイズ(n)**スライダーをドラッグして、nの増加に伴う曲線の分岐を観察します。
- チャート上の色付き凡例ボタンをクリックして、個々の計算量クラスの表示/非表示を切り替えて比較します。
- チャート下の操作数カードで、現在のn値での各計算量クラスの正確な操作数を確認します。
- 計算量テーブルタブで、記法、名前、評価、例示アルゴリズム、nでの操作数を確認します。
- アルゴリズム検索タブでアルゴリズム名(例:「quicksort」)やカテゴリ(例:「Graph」)を入力して素早く検索します。
- カテゴリドロップダウンで、Sorting、Searching、Data Structures、Graph、Mathematics、Combinatorics、Dynamic Programmingでフィルタリングします。
- Ctrl+Shift+C(MacではCmd+Shift+C)を押して、現在のnでのすべての計算量値の要約をクリップボードにコピーします。
人気のBig-Oの例
よくある質問
Big-O記法とは何ですか?
Big-O記法は、入力サイズ n の関数としてアルゴリズムの時間または空間要件の上界を記述します。アルゴリズムのスケーリングを示します — O(n)は作業量がnに比例し、O(n²)はnの二乗に比例します。定数係数と低次の項を無視し、支配的な成長率に焦点を当てます。
O(n log n)とO(n²)の違いは何ですか?
O(n log n)はO(n²)よりはるかに遅く成長します。例えば、n=1000ではO(n log n) ≈ 10,000操作ですが、O(n²) = 1,000,000操作です。このため、マージソートやクイックソートのようなO(n log n)の効率的なソートアルゴリズムが、大きな入力でO(n²)のバブルソートや選択ソートを大幅に上回ります。
Big-O記法が全体像を伝えないのはいつですか?
Big-Oは定数係数と低次の項を無視します。大きな定数を持つO(n)アルゴリズムは、実用的な入力サイズではO(n log n)アルゴリズムより遅くなることがあります。また、最悪ケース(または平均ケース)の動作のみを記述し、実際のパフォーマンスはハードウェア、キャッシュ動作、具体的なデータに依存します。
時間計算量と空間計算量の違いは何ですか?
時間計算量は入力サイズに伴う操作数の増加を測定します。空間計算量はメモリ使用量の増加を測定します。アルゴリズムは高速だがメモリを多く使うもの(マージソート:O(n log n)時間、O(n)空間)や、遅いがメモリをほとんど使わないもの(バブルソート:O(n²)時間、O(1)空間)があります。
Y軸が対数スケールになるのはなぜですか?
nを増やすと、指数や階乗の計算量は天文学的な数値を生成し、多項式の曲線がゼロ付近の平らな線に見えてしまいます。対数スケールはY軸を圧縮し、すべての曲線を同じチャート上で意味のある比較ができるようにします。
データは安全ですか?
はい。このツールはブラウザ内で完全に実行されます。チャートはHTML Canvas要素でバニラJavaScriptを使用して描画され、データはサーバーに送信されず、外部APIは呼び出されず、Cookieやトラッキングも使用されません。ブラウザの開発者ツールのネットワークタブで確認できます。
面接準備に使えますか?
もちろんです。アルゴリズム検索データベースは、技術面接で最もよく聞かれるアルゴリズムをカバーしています。アルゴリズムの時間・空間計算量を素早く検索し、カテゴリを理解し、代替手段と比較できます。ビジュアルチャートは、面接官がO(n²)よりO(n log n)の解法を好む理由の直感を養うのに役立ちます。
関連ツール
ソートアルゴリズムビジュアライザー
ソートアルゴリズムをアニメーション付き棒グラフでステップバイステップ可視化。バブルソート、クイックソート等を比較。
二分木ビジュアライザー
二分木をインタラクティブに可視化し、BST操作、トラバーサルアニメーション、バランスチェックを実行します。
データ構造ビジュアライザー
スタック、キュー、連結リスト、ハッシュテーブル、ヒープをステップバイステップのアニメーションで可視化します。
進数変換ツール
2進、8進、10進、16進およびカスタム基数間で数値を変換します。ビット可視化付き。
グラフビジュアライザー
有向・無向グラフをインタラクティブに構築し、BFS、DFS、Dijkstra、トポロジカルソートをステップ実行で可視化。