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

マージソート ビジュアライザー

マージソートの動きをアニメーションで再現するツールです。ステップ実行、速度調整、独自のデータ入力、比較・書き込み回数のリアルタイム表示、擬似コード表示に対応。すべてブラウザ上だけで動作します。

無料 登録不要 クライアントサイド プライバシーに配慮 Updated
/
Comparisons: Swaps / writes: Array accesses:

Code examples

Ready-to-copy reference implementations. Free to use in your own projects and assignments.

使い方

  1. 1 Playを押すと、配列が半分ずつ分割され、整列された順序で統合されていく様子が確認できます。
  2. 2 Stepを使うと、比較と統合の処理を1ステップずつ進められます。
  3. 3 Custom inputに任意の数値を入力してApplyを押すと、独自のデータで試せます。
  4. 4 ハイライトされた擬似コードと、比較・書き込み回数のリアルタイム表示を見ながら処理を追えます。

このツールを使う理由

  • 分割統治が実際にどう動くかを目で見て理解できます。再帰的に分割し、順序を保ちながら統合する流れが分かります。
  • マージソートがどんな入力でも常にO(n log n)を保証できる理由を理解できます。
  • 初期の並び順に関係なく比較回数が安定していることを、各指標から確認できます。
  • 処理はすべてブラウザ内で完結します。登録もアップロードも不要です。

よくある質問

マージソートとは何ですか?

マージソートは、配列を要素が1つになるまで再帰的に半分に分割し、その後それぞれを整列した順序で統合していくアルゴリズムです。

マージソートの時間計算量はどれくらいですか?

最良・平均・最悪のいずれのケースでもO(n log n)です。log nの部分は分割の深さから、nの部分は各階層での統合処理から生じます。

マージソートは安定(stable)なソートですか?

はい。統合の際、値が等しい要素は左側の半分にあるものを優先して先に取り出すため、元の並び順が保たれます。

マージソートの欠点は何ですか?

統合処理用のバッファとしてO(n)の追加メモリが必要になる点です。ヒープソートやクイックソートのような、その場で並べ替える(in-place)アルゴリズムとは異なります。

マージソート ビジュアライザー とは?

マージソート ビジュアライザーは、マージソートの分割統治(divide-and-conquer)アルゴリズムをシミュレーションするツールです。配列を再帰的に半分ずつ分割し、整列した状態で統合していく過程を可視化します。O(n log n)という保証された実行時間と、安定した(stable)整列順序を直感的に理解できます。

機能

ステップバイステップ・アニメーション

再帰的な分割とソート済みの半分同士のマージを確認できます。

計算量

時間計算量:すべてのケースでO(n log n)。空間計算量:O(n)の補助空間。安定ソートですが、インプレースではありません。

100%プライベート

すべてブラウザ内で完結し、データがアップロードされることはありません。

Input

[38, 27, 43, 3]

Output

split → [27,38] & [3,43]; merge → [3, 27, 38, 43] (sorted)

主な用途

  1. 1

    保証されたO(n log n)

    マージソートがクイックソートの最悪ケースO(n²)を回避できる理由を確認しましょう。

  2. 2

    安定ソート

    同じキーの要素が入力時の順序を保持することを観察できます。

  3. 3

    外部ソート/連結リストのソート

    マージソートが連結リストや外部ソートに適している理由を理解しましょう。

概要

Zerethonのマージソート・ビジュアライザーは、分割統治アルゴリズムをブラウザ上でアニメーション表示し、配列を再帰的に分割してからソート済みの半分同士をマージする様子を示します。マージソートは最良・平均・最悪のすべてのケースでO(n log n)の時間計算量で動作し、O(n)の補助空間を使用します。安定ソートですが、インプレース(in-place)ではありません。保証されたO(n log n)により、大規模データや連結リストに対する信頼性の高い選択肢となります。

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

参考文献

プライバシー

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

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

比較

関連ツール

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

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

無料登録