01楽しいヒープデータ構造やプライオリティキュー_08_

ヒープ:

コンピュータサイエンスの分野では、このツリー構造自体は非常に重要な位置に、このデータ構造は、重要な役割を果たしている理由を占めているだけでなく、このようなA構造化バイナリ検索ツリーは、木自体がこのような形状は、開発の多くを生成することができているので、別の問題のために、我々はわずかに異なるデータ構造で、その結果、このようなツリーデータ構造の性質を変更したり、制限することができ、さまざまな問題が効率的なソリューション、

セクションの先頭から、導入4つの異なる例であり、4つの章があるでしょうヒープ、ツリーライン、辞書ツリーと互いに素セット 木のこれらの異なる構造によって、我々は、場所データ構造に柔軟性を理解することができます、  

何が優先キューは:

プライオリティキューイング(比較的高レベルのデータ構造)に関係なく、チームと秩序のチームであり、   優先度が  優先され、チームのほとんどは実際には関連、、、

 

インターフェイスと通常のキューのプライオリティキューは、単にチームで、同じで、チームの最初の操作要素は異なっており、

 

 

プライオリティキュー下部の実装はまた、本明細書のデータ構造(配列の構造、線形一般的な線形構造の三種類提供される、異なるデータ構造で構成することができるされているスタック

 

優先度が最も大きいと想定されます

ここで、スタックデータ構造はプライオリティキューの基礎となる実装として、それは一般的な時間線状構造又は直鎖構造順次実施優先キュープライオリティキューが存在する場合にも使用され、その後、スタックに役立ち性能を比較するためにここで実装することができますデータの研究の結果!

 

ヒープの基本的な構造:

コンピュータの世界では、すべての時間の複雑さは、直接木を使用していないが(、その後はほぼ一定と木この構造的関係、マージソートやクイックソート彼らはLOGNレベルLOGNであるが、それは再帰的なプロセスが実際にいます目に見えない木)

ヒープ自体は、それが実際に木です、  

 

バイナリヒープ:

バイナリヒープが特別な木で、バイナリヒープは、レッスンで完全2分木、   

完全なバイナリは:どの子なしで最後のもの以外のノードは、各レイヤー上のすべてのノードは、バイナリツリーの2つのつの子ノードを持っています。 

完全なバイナリツリー:完全なバイナリツリーは完全なバイナリツリーで、リードアウト。深さがKである、というバイナリツリーがそれぞれ1からnまで次Kバイナリツリーのノード番号の完全な深さであるの節場合にのみ、n個のノードのバイナリツリーがあります。

完全なバイナリツリー: 

 

完全なバイナリツリー:(実際には、フィットの内部までリリースの層)

すべてのバイナリヒープの最初には、ほかに、完全2分木であります

また、特殊な性質を持っている:各ノードのヒープ値は、常にその親ノード(の値よりも大きい場合、すべてのノード値は、その子の値よりも大きいです今回ヒープは、我々は呼んで最大ヒープを(各ノードの値はその子ノードの値よりも大きい)、あなたはまた、適切な最小ヒープを定義することができます! 

 

概要:最大ヒープ:最初は完全2分木である、そして、各ノードの値は、その子ノードの値よりも大きいです! 

 

 

 

 

 

 

 

 

 

 

 

 

  

おすすめ

転載: www.cnblogs.com/zach0812/p/11831890.html