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

バイナリヒープ可視化ツール

インタラクティブなバイナリ最大ヒープ — 要素を挿入(insert)し、最大値を取り出す(extract-max)操作を、sift-up / sift-downのアニメーションとステップ実行、疑似コード付きで確認できます。すべてブラウザ内で完結します。

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

/

疑似コード

Run an operation to see its steps.

使い方

  1. 1 数値を入力してInsertを押すと、その値が正しい位置まで「sift up」していく様子を確認できます。
  2. 2 Extract Maxを押すと根のノードが削除され、ヒープが「sift down」する様子が表示されます。
  3. 3 Randomでランダムな値を挿入したり、Clearでヒープを空にしたりできます。
  4. 4 各操作をステップごとに実行し、ハイライトされる疑似コードを追いながら理解を深められます。

このツールを使う理由

  • バイナリ最大ヒープを木構造として視覚的に確認でき、常に最大値が根に位置することが分かります。
  • 挿入後のsift-upと取り出し後のsift-downがヒープの性質をどのように回復させるかを観察できます。
  • 挿入・取り出しの両方がO(log n)の計算量になる理由 — 木の高さに等しいこと — を理解できます。
  • すべてブラウザ内で完結。登録もアップロードも不要です。

よくある質問

バイナリヒープとは何ですか?

バイナリヒープは配列として格納される完全二分木で、すべてのノードがヒープ条件を満たしています。最大ヒープでは各親ノードが子ノード以上の値を持つため最大値が根に位置し、最小ヒープでは各親ノードが子ノード以下の値を持ちます。

ヒープ操作の計算量はどれくらいですか?

挿入と最大値の取り出し(extract-max)はO(log n)です。値を木の高さ分だけ上下に移動させる必要があるためです。最大値の参照(閲覧のみ)はO(1)で行えます。

ヒープはどのように配列に格納されますか?

木構造は暗黙的に表現されます。インデックスiのノードの子は2i+1と2i+2にあり、親は⌊(i−1)/2⌋にあります。ポインタを使う必要はありません。

ヒープは何に使われますか?

優先度付きキュー(priority queue)、ヒープソート、DijkstraアルゴリズムやPrimアルゴリズム、そして残っている要素の中から常に最大値(または最小値)を取り出す必要があるあらゆる処理に使われます。

バイナリヒープ可視化ツール とは?

バイナリヒープ可視化ツールは、バイナリ最大ヒープ — 配列として格納された完全二分木で、すべての親ノードが子ノード以上の値を持つデータ構造 — を可視化します。挿入(insert)後のsift-upと、最大値の取り出し(extract)後のsift-downのプロセスを表示し、常に最大値が根(root)に位置するようにする仕組みを示します。

概要

バイナリヒープ可視化ツール は Zerethon Tools が提供する無料の アルゴリズム ユーティリティです。インタラクティブなバイナリ最大ヒープ — 要素を挿入(insert)し、最大値を取り出す(extract-max)操作を、sift-up / sift-downのアニメーションとステップ実行、疑似コード付きで確認できます。すべてブラウザ内で完結します。. ブラウザ上で完全に動作します — 登録不要、アップロード不要。

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

プライバシー

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

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

関連ツール

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

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

Zerethon を無料で試す