問題タブ [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.

0 投票する
8 に答える
3933 参照

f# - F#優先キュー

F#ライブラリには優先キューが含まれていますか?そうでなければ、誰かがF#での優先度付きキューの実装を私に指摘できますか?

0 投票する
2 に答える
1694 参照

c++ - プライオリティ キュー使用時のセグメンテーション違反

AI という名前のクラスの要素を含む優先キューがあります。このキューの要素は、キューの下にある可能性があります (優先度が低くなります)。そのため、選択した要素が得られるまで、いくつかの要素をポップしようとしています。選択した要素を取得したら、一時的に配列に保存したすべての要素をプッシュする予定です。ループがあり、繰り返しごとにキューをさらに下って、ポップした要素が自分の選択であるかどうかを確認します。このようにして、より多くのデータが一時配列にあります。この一時配列からプライオリティ キューにデータをプッシュしようとすると、問題が発生します。優先度の基礎となるコンテナはベクトルであり、デバッグは問題が行 std::push_heap(c.begin(), c.end(), comp); で stl_queue.h にあることを示しています。(c はベクトル)

これは間違った方法である可能性があり、malloc の代わりにコンストラクターを使用し、プライオリティ キューの代わりに std:list を使用する必要があることはわかっていますが、ここで何が起こっているのか教えてもらえますか?

0 投票する
3 に答える
362 参照

scala - 一般的な優先度付きキューの共変型と反変型

型にパラメータ化されたジェネリックデータ型をScalaに実装しようとしてTいますOrdered[T]。具体的には、Sleator&Tarjanのスキューヒープ優先度キューの永続バージョンです。こことOdersky-Spoon-Vennersの説明に基づいて複雑な型のパラメーター宣言をたくさん追加した後、実際の機能をテスト/デバッグする前に、コンパイラーエラーが1つ発生しました。

以下は私のコードの簡略版です。

これにより、次のエラーが発生します。

の宣言のいくつかの変形を試しましdelMinたが、役に立ちませんでした。問題は理解できたと思いますが(メソッド+は注文保証が必要です)、これはどこに置くべきですか?そして、代わりにdelMin戻ることを宣言する方法はありますか?SkewHeap[T]SkewHeap[U]

0 投票する
1 に答える
936 参照

go - Priority Queue の Pop メソッドの何が問題になっていますか?

Rob Pike のロード バランサ デモに基づいて、独自のプライオリティ キューを実装しましたが、Pop メソッドが正しくありません。何が問題なのか誰か教えてもらえますか?

編集: cthom06 が指摘した方法以外に、これを修正する別の方法は、次のようにポインター配列を作成することです。

0 投票する
2 に答える
4799 参照

c++ - C ++ベクター/優先キューのリスト?

なぜC++はそのようなことを許可しないのですか?

複数の優先キューが必要です。その数は実行時に決定されます。

これはコンパイルに失敗します

std::vector<std::priorityqueue<Class A>>

より良いアプローチはありますか?

0 投票する
10 に答える
22443 参照

java - PriorityQueueでTreeMapを使用する必要があるのはいつですか。その逆も同様です。

どちらも、プリムのアルゴリズムに必要な最小値を取得し、キーを削除して再挿入して値を更新するように強制しているようです。この例だけでなく、一般的に言えば、一方を他方よりも使用することの利点はありますか?

0 投票する
7 に答える
21769 参照

java - ThreadPoolExecutorとカスタムタスクを使用してPriorityBlockingQueueを実装する方法

私はたくさん検索しましたが、私の問題の解決策を見つけることができませんでした。

BaseTaskを使用しThreadPoolExecutorてタスクを処理する独自のクラスがあります。タスクの優先順位付けが必要ですが、タスクをオブジェクトにラップするため、 PriorityBlockingQueueIを使用しようとすると取得します。ClassCastExceptionThreadPoolExecutorFutureTask

FutureTaskは実装されていないため、これは明らかに理にかなっていComparableますが、優先度の問題を解決するにはどうすればよいでしょうか。newTaskFor()でオーバーライドできることを読みましたがThreadPoolExecutor、このメソッドがまったく見つからないようです...?

任意の提案をいただければ幸いです!

役立つコード:

私のBaseTaskクラスでは

BaseFutureTaskクラスで

BaseThreadPoolExecutorクラスiで3つのメソッドをオーバーライドします...このsubmitクラスのコンストラクターが呼び出されますが、どのsubmitメソッドも呼び出されません

0 投票する
1 に答える
507 参照

java - IntentServiceを使用して優先ネットワークを実行する

IntentService保留中のインテントのキューに優先順位を付けたまま、を使用してネットワーキングを行うことが可能かどうか疑問に思っていました。バックグラウンドでいくつかの画像をダウンロードし、必要に応じてさらに追加し(別の画像を送信しIntent)、必要に応じてキューをリセットできるようにする(できれば特定のインテントを使用する)ことが私の目標です。それはすべて可能ですが、IntentServieその「停止」を送信するときIntentは、キュー内の次のアイテムとして処理する必要があります。現在の最後のアイテムではありません。

編集

興味のある方のために、私はAOSPコードを取得しIntentService、ニーズに合わせて変更しました。IntentHandlerをサブクラス化できない理由は、ServiceHandler内のプライベートクラスのためですIntentHandler

私の中にはServiceHandler新しい方法があります:

このメソッドはonStart、単にではなくから呼び出されますsendMessage

全体的にコードはまだ制限されていますが、キューの先頭にあるメッセージをすばやく追跡することができます。これはとにかく私が求めていたものです。

0 投票する
3 に答える
4259 参照

c# - C#ジェネリックス:Tをどこに挿入するかT:IComparableインターフェイスの競合

これは、C#ジェネリック/デザインパターンマスターにとっての課題です。

ジェネリックヒープを実装してから、ヒープを使用する優先キューを実装しようとしています。

私のヒープの署名は次のとおりです。

私の優先キュークラスは次のとおりです。

しかし、そうするとき、コンパイラは(当然のことながら)IComparebleがIComparebleインターフェイスを実装していないと文句を言います。

と競合する

これを解決するために何ができますか?!

完全なコンパイラエラー:

0 投票する
1 に答える
1678 参照

c# - ディスパッチャとマルチスレッド

長時間実行計算MSDNの例を使用したシングルスレッドアプリケーションによると、 1つのスレッドでレスポンシブGUIを作成する可能性があります。Dispatcherオブジェクトのおかげで、作業項目の優先度を設定できます。

私の質問は、これが可能な場合、バックグラウンドスレッドで単純なタスク(シングルコアCPUが1つしかない場合)を実行する必要があるのはどのような意味ですか?

ありがとう