目次:
定義-ヒープとはどういう意味ですか?
データ構造のコンテキストでのヒープは、各要素にキー値または重みが割り当てられているヒーププロパティを満たすツリーベースのデータ構造です。 低い値のキーには、常に高い値のキーを持つ親ノードがあります。 これは最大ヒープ構造と呼ばれ、すべてのノードの中でルートノードが最高のキーを持ちます。
ツリーベースの構造には、逆の構造規則があり、値の高いキーを持つ要素は常に親ノードとして値の低いキーを持つことがあります。 これは、最小ヒープ構造と呼ばれ、すべてのノードの中で、ルートノードが最も低いキーを持ちます。
Techopediaはヒープについて説明します
通常、各ノードには最大で2つのノードがありますが、各ノードがヒープ内に持つことができる子の数に実際的な制限はありません。 ヒープは、優先キューと呼ばれる抽象データ型の最も効率的な実装と見なされます。 ヒープの実装は、さまざまなグラフアルゴリズム(ダイクストラのアルゴリズムを含む)およびヒープソートソートアルゴリズムに不可欠です。
ヒープには、高効率で抽象データ型の優先度キュー実装として機能するいくつかの違いがあります。 グラフアルゴリズムなどの多くのアプリケーションでは、優先度キューの実装が必要です。
配列はヒープの最も一般的な実装形式であり、その要素間をリンクするためのポインターは必要ありません。
ヒープは、次のような複数の操作を実行します。
- Find-max:ノードのグループの中で最も重要なノードを検索します
- Find-min:ノードのグループの中で最も低いキーノードを検索します
- Delete-max:ノードのグループの中で最も重要なノードを削除します
- Delete-min:ノードのグループの中で最も低いキーノードを削除します
ヒープには、マージ、挿入、およびキーの変更を実行する関数も含まれます。
この定義は、データ構造のコンテキストで記述されました