ホームページ > バックエンド開発 > C++ > バイナリヒープの配列表現

バイナリヒープの配列表現

PHPz
リリース: 2023-09-04 22:45:05
転載
717 人が閲覧しました

ヒープの並べ替えプロパティに従う完全なバイナリ ツリーは、バイナリ ヒープと呼ばれます。

バイナリ ヒープのソート方法に応じて、バイナリ ヒープは 2 つのタイプに分類できます。

最小ヒープは、ノードの値がより大きいヒープです。またはその親ノードの値と同じです。最小ヒープのルート ノードは最小です。

最大ヒープ は、ノードの値がその親ノードの値以下であるヒープです。最大ヒープのルート ノードが最大になります。

バイナリ ヒープの値は通常、配列として表されます。バイナリ ヒープの配列表現は次のとおりです。

  • ルート要素のインデックスは 0 です。

  • i が配列内のノードのインデックスの場合、そのノードに関連する他のノードのインデックスは次のとおりです:

    • 左の子: (2 *i) 1

    • 右の子: (2*i) 2

    • #親ノード: (i-1)/ 2

上記の配列表現ルールを使用すると、ヒープを配列として表現できます。

バイナリヒープの配列表現

147891112
ここで、ソートベースのヒープのタイプについて説明します。

  • 最小ヒープ - ルートノードは最小値を持ちます。ノードの値が親ノードの値より大きいです。

  • #例:

バイナリヒープの配列表現

##配列表現:

#14 8最大ヒープ
7 6 9 10
- ルート ノードには最大値があります。ノードの値は親ノードの値より小さいです。
  • #例:

##配列表現:バイナリヒープの配列表現

#11

8

96 1
4 5

以上がバイナリヒープの配列表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート