九日の学習データ構造()(学習指針の数を含みます)

つまり、ドキュメントについて見てする方法:学習するためのガイドラインインターフェイス機能を使用し、その上には何です。  

ヒープこの種のもののために、今では次のようになります達成するために一つのことを書くこと。

優先度つきキューが実装ヒープできるために、すでに書かれた対応があるはず、あなたはインターフェイスを呼び出すことができます

 

ヒープは、優先度つきキューを見て、その後、行われてきたために、その後、タイトルを読んだ後leetcodeを行います

 

プライオリティキューの理解のために:

もともとはキューだった:FIFO結果

プライオリティキューに関して:VIPは、機能を達成するため、第一アウトが優先度の高いノード最初のうちで、高度ではないかもしれません。

これは、プライオリティキューの導入と効果です。

ヒープ関係:ヒープが最大であり、最小値は、ルートに配置することができ、したがって、優先度つきキュー基礎となるストレージとして優先度つきキューヒープを達成するために使用することができます。

 

 

 

最初は学んだ:優先度つきキューは、Javaの内部には、直接使用することができ、輸入java.utilのを使用することができます。

[追加機能の削除機能の一つは、機能がわずかに使用されている覗かれる場合。

 

比較の優先度つきキューのために、そして多くのことを学びます:

1.優先順序を示す番号で、次に優先順位の主題デフォルトです。

たとえば:8と15、それは8高い優先度を認識されます。

 

 

2.コンパレータは、新たな比較ロジックを定義し、書いた場合は、以下の点を守ってください。

含蓄に比べ(1)は、オーバーライド比較関数を書きました。

(2)は、覚えて最初のパラメータを、独自であり、2番目のパラメータは、他人を表します。その他はマイナス0未満、より高い優先順位とみなさ所有しています。(0より小さい場合のcompareTo反し、のcompareToは、その後、それが小さくなります)

優先度つきキューにコンストラクタ(3)コンパレータ、ロジックは、優先度つきキューを伝えるために構成されました

 

 

カスタムクラスなら、それは比較ロジック通知する必要がありますが、ロジックの前の行に合わせて小さくなるようにしたい場合は、それはフロントであるべきであり、フィールドの比較を-リア(対応するフィールドが比較を減算しています)

もし大きな前列にして、再び - フロント

 

含蓄の静的な機能のために:

静的な機能は、アクセス非静的オブジェクトはできません。

理由:各非静的関数は、このフィールドそこにデフォルト値を渡します。

静的関数は、このオブジェクトを持つことができないので、私は、オブジェクトがアクセスされたかわかりませんでした。

 

 

 

 

使用法:非静的メンバを呼び出す行く、現在のクラスのオブジェクトを作成します。

例えば、ここでの主にオブジェクトのインスタンスを作成することです

ここにあなたの場合:メインは直接非静的メンバを呼び出すことをオブジェクトのインスタンスを作成していない、次のように、それは、間違っています:

 

 まず、このオブジェクトでは、オブジェクトの適切な関数を呼び出して行きます。

 

 

 

 

 

 

キー:内部関数へのこの問題は、のためにX最初のオブジェクトに対応する:この物質の追加(8)は、このオブジェクトのx、すなわち、8であることを意味します。

すなわち:比較する書き込みが2つの数値を比較する方法であるが、実際に呼ばれ、最初の引数は、このときに比較して、新しく追加されたために自分自身を取ることです。

まあ、私は0未満の比較的小規模であることが証明され、同じだと思います。 

Wコンパレータ時間は、高い優先順位の必要な数よりも少ない場合には、その後、他の誰かが、あなた自身のカットを使用しています。

あなたは高い優先度の多数が必要な場合は、その後、他の人と自分自身を切りました。

 

これは、コンパレータの新しいクラスを行う方法を、あなた自身のコンパレータを作成する方法を、優先度つきキューを呼び出す方法を紹介します。

そして、彼らは優先度つきキューを達成するために、ヒープを使用する方法についての話

 

 これは、構造体である:ヒープ実装は、内部配列では、ヒープ優先度つきキューの下にある構造場合

インタフェースは、優先度つきキュー、キューのために達成されるようキューのために、それがあります。

 

単一のファイル構造の場合:

 

 

 

 

メソッドの定義は同じですが、それのファイル内部に統合します。

 

自分の言葉が、この優先度つきキュー書き込みのために、それはのminheapある場合、優先順位は、それがmaxheapであれば、それは大きな優先事項である、小さいです

理由:そのストレージ構造は、関連して、のminheapが上に小さくて、maxheapはそれに大きいです。

 

そして、それを除いて、その後のminheapとmaxheap:異なるsiftUp、siftDwon時間条件は、終了時間siftUp異なるよりも大きいか小さいです。

 

 すなわち:のminheapとmaxheapの違いはここだけです。いくつかのシンボル問題。

その後、このトピック、ブログ記事から他によるとleetcodeについて書きます。

 

おすすめ

転載: www.cnblogs.com/startFrom0/p/12637517.html
おすすめ