問題タブ [priority-queue]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
winapi - PostMessage を優先しますか?
PostMessage
(または他の関連する方法のいずれかで)送信されたメッセージに優先順位を付けることは可能ですか?
たとえば、メッセージである IIRC はWM_PAINT
、キューに他のメッセージがない場合にのみ処理されます。カスタム メッセージで同様の動作を実現することは可能ですか?
WM_PAINT
(WndProc を制御する) ウィンドウにカスタム メッセージを配信するために特別なパラメーターを使用すると、同様の動作になりますか?
java - 固定サイズの Java PriorityQueue
アルゴリズムの可能な結果の組み合わせを多数計算しています。この組み合わせを並べ替えるには、double 値で評価し、PriorityQueue に保存します。現在、そのキューには約 200k のアイテムがあり、かなりメモリを消費します。実際には、リスト内のすべてのアイテムの中で最高の 1000 または 100 を言うだけで済みます。そこで、Java で固定サイズのプライオリティ キューを使用する方法があるかどうかを自問し始めました。私は次のように振る舞うべきです: そのアイテムはすでに保管されているものよりも優れていますか? はいの場合は、適切な位置に挿入し、評価が最も低い要素を捨てます。
誰にもアイデアはありますか?どうもありがとうございました!
マルコ
java - セットでもあるキュー (PriorityQueue) の実装はありますか?
SetでもあるPriorityQueue実装を探しています。
要素のcompareTo
実装は、 の実装と一致する必要があってはなりませんequals
。
Javaのそのような実装はどこにありますか?
更新:内部コレクションとして SortedSet を使用して実装しました。したがって、欠落しているメソッドを実装して、キュー インターフェイスを満たすだけで済みました。また、制限付きのキューである必要があることも忘れていました。そのため、容量があり、容量に達するとセットの最後の要素が破棄されます。
java - 要素の優先度が変更されたときにJavaPriorityQueueを更新する
PriorityQueue
を使用してオブジェクトを注文しようとしていComparator
ます。
これは簡単に実現できますが、オブジェクトクラス変数(コンパレータが優先度を計算するため)は、最初の挿入後に変更される可能性があります。ほとんどの人は、オブジェクトを削除し、値を更新して再挿入するという簡単な解決策を提案しています。これは、優先キューのコンパレータが動作するときです。
これを行うために、PriorityQueueの周りにラッパークラスを作成する以外のより良い方法はありますか?
.net - .Net フレームワークにプライオリティ キュー クラスがないのはなぜですか?
スタック オーバーフローには、.Net および C# でのプライオリティ キューの実装を扱うスレッドがいくつかあります。
私の問題はより基本的な性質のものです: .Net フレームワークにすぐに使用できるプライオリティ キューがないのはなぜですか? C++ 標準ライブラリにもあります。
c++ - cppでキューを比較するにはどうすればよいですか?
10個のキューのサイズを比較し、次の要素を挿入するために最小のキューを決定する必要があります
通常のifステートメントを作成すると多くのケースが必要になります
たとえば、キューのキューまたはキューの配列を使用してそれを行う方法はありますか?
注:2つの状況で2つの別々のものに基づいてキューを比較する必要があります1-サイズ(その中のうなずきの数)に基づいて2-その中のうなずきのデータの総数に基づいて(私は別々に持っています計算する関数)
binary-search - 優先度キュー O(n) のソート済みリスト実装の挿入時間の複雑さは?
ウィキペディアから:
ソートされたリストの実装: スーパーマーケットのレジの列のように、重要な人々が重要でない人々の前で「カット」する場所。( O(n) の挿入時間、O(1) の get-next 時間、O(n*log(n)) のビルド)
二分探索アルゴリズムで挿入位置を検索すると、挿入時間の複雑さは O(log(n)) になるはずです。ここでは、ジョブの到着順序を優先順位の要素として扱います。
それで、私は間違っていますか、それともウィキペディアは間違っていますか?
更新:TAOCP のリストの厳密な定義によると:
線形リストは、n >=0 のノード X 1、X[2]、...、X[n] のシーケンスであり、その基本的な構造特性には、アイテムが行に表示されるときのアイテム間の相対位置のみが含まれます。
ウィキペディアの参照リストはlinked-listではなく、 arrayである可能性があると思います。
ありがとう。
c# - コンパレータを備えたJavaのPriorityQueueに相当するC#XNA?
タイルのボードにダイクストラ法を実装しています。すべてのタイルを優先キューに保存し、開始位置からの距離で並べ替えます。Javaでは、これは次のようになります。
Queue<Point> pq = new PriorityQueue<Point>(new Comparator() { /* sort by distance from start */ });
C#XNAで同等のものは何でしょうか?C#にはクラスがありますが、それはオブジェクトPriorityQueue
に対してのみ機能し、オブジェクトは機能しません。IComparable
Point
java - Javaでイテレータを使用するには?
ヒープを作成するための Priority Queue インターフェイスを実装しました。その上にイテレータを実装する方法を教えてください。適切なチュートリアルを教えてください。私はJavaが初めてで、締め切りが非常に短いです。実際には、Object.id に基づいてヒープからオブジェクトを見つけて変更するメソッドが必要です。O(n) かどうかは気にしません。
// BinaryHeap クラス
java - JavaのPriorityQueueの組み込みイテレータは、特定の順序でデータ構造をトラバースしません。なんで?
これはJavaドキュメントから直接です:
このクラスとそのイテレーターは、CollectionおよびIteratorインターフェースのすべてのオプションのメソッドを実装します。メソッドiterator()で提供されるイテレータは、特定の順序で優先キューの要素をトラバースすることが保証されていません。順序付きトラバーサルが必要な場合は、Arrays.sort(pq.toArray())の使用を検討してください。
したがって、基本的に、PriorityQueueは正常に機能しますが、独自の組み込みtoString()メソッドを使用して画面に出力すると、この異常が実際に動作していることがわかり、イテレータが提供した(そして使用した)理由を誰かが説明できるかどうか疑問に思いました。内部的に)PriorityQueueを自然な順序でトラバースしませんか?