あ ヒープ は、ヒープ プロパティを満たす完全なバイナリ ツリー データ構造です。つまり、すべてのノードについて、その子の値がそのノード自身の値以下であるということです。ヒープは通常、優先キューを実装するために使用され、最小 (または最大) の要素が常にツリーのルートに配置されます。

ヒープのデータ構造
目次
Javaのif else文
- ヒープの種類
- ヒープ操作
- ヒープデータ構造とは何ですか?
あ ヒープ は、ヒープ プロパティを満たすバイナリ ツリー ベースのデータ構造です。つまり、各ノードの値はその子の値以上です。このプロパティにより、ルート ノードに 最大 または 最小 (ヒープのタイプに応じて) 値が変化し、ツリーの下に移動するにつれて値が減少または増加します。
ヒープの種類
ヒープには主に 2 つのタイプがあります。
- 最大ヒープ: ルート ノードには最大値が含まれており、ツリーの下に移動するにつれて値は減少します。
- 最小ヒープ: ルート ノードには最小値が含まれており、ツリーの下に移動するにつれて値が増加します。
ヒープ操作
一般的なヒープ操作は次のとおりです。
YouTube広告をブロックアンドロイド
- 入れる : ヒープのプロパティを維持しながら、新しい要素をヒープに追加します。
- 抽出最大/最小: ヒープから最大要素または最小要素を削除して返します。
- ヒーピファイ : 任意のバイナリ ツリーをヒープに変換します。
ヒープは一般に、優先度 (最大値または最小値) に基づいて要素が取得される優先キューを実装するために使用されます。
- ヒープソートは、ヒープを使用して配列を昇順または降順に並べ替える並べ替えアルゴリズムです。
- ヒープは次のようなグラフ アルゴリズムで使用されます。 ダイクストラのアルゴリズム そして プリムのアルゴリズム 最短パスと最小スパニングツリーを見つけます。
バイナリ ヒープ ヒープの用途、メリット、デメリット ヒープ構築の時間計算量
フィボナッチヒープ
ヒープソート
最小ヒープ内の値 x より小さいすべてのノードを出力します。
k 個のソートされた配列をマージする |セット1
クイックリンク:
- ヒープ上の練習問題
- 推奨:
- データ構造とアルゴリズムを学ぶ | DSA チュートリアル