[アルゴリズム]プライオリティキュー

ノーマルキュー:FIFO

プライオリティキュー:要素の優先度の大きさに応じてデータを取得します

現実の世界では、キューをジャンプすることができ、多くの場合(重量右側に基づきます)

 

アプリケーション:

これは敵のAIゲーム最初の攻撃(経験のレベルに応じて、どのくらいの血液など)

オペレーティングシステムハンドルの応用

 

N要素の最初のM個の要素を選択

O(NlogN)でソートを使用して解決することができます

これは、O(NlogM)(NおよびM大きな違いがより明確な最適化)にプライオリティキューを使用して解決することができます

最も人気のある検索キーワード(トップKの問題)への迅速なアクセスTOP10

 

求中位数

 

異なるデータ構造を使用して実装さプライオリティキュー:

O(1)、チームのO(n)をエンキュー共通配列

配列の順序、エンキューO(N)、チームO(1)

チームへのヒープとチームの効率はO(LGN)であります

N個のリクエストの合計、一般的なアレイまたはアレイのため、最悪の場合はO(n ^ 2)、及びスタックは、O(nlgn)であります

 

ヒープは、特別な木は、満たされるべきです。

1)完全2分木であります

2)各ノードの値)は、そのサブツリーの各ノードの値よりも大きい(または等しくなければなりません

おすすめ

転載: www.cnblogs.com/cxc1357/p/12142928.html