タグ付けされた質問 「priority-queue」


14
.Netの優先度キュー[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3年前休業。 この質問を改善する 優先キューまたはヒープデータ構造の.NET実装を探しています 優先度キューは、新しい要素が任意の間隔でシステムに入ることができるため、単純なソートよりも柔軟性のあるデータ構造です。新しいジョブを優先度キューに挿入する方が、そのような到着ごとにすべてを並べ替えるよりもはるかにコスト効率が高くなります。 基本優先度キューは、3つの主要な操作をサポートしています。 Insert(Q、x)。キーがkのアイテムxを指定して、優先度キューQに挿入します。 Find-Minimum(Q)。優先度キューQの他のどのキーよりもキー値が小さいアイテムへのポインターを返します。 Delete-Minimum(Q)。キーが最小の優先キューQからアイテムを削除します 私が間違った場所を探しているのでない限り、フレームワークにはありません。誰かが良いものを知っていますか、それとも自分でロールすべきですか?



3
ダイクストラのアルゴリズムが減少キーを使用するのはなぜですか?
ダイクストラのアルゴリズムは私に教えられました while pqueue is not empty: distance, node = pqueue.delete_min() if node has been visited: continue else: mark node as visited if node == target: break for each neighbor of node: pqueue.insert(distance + distance_to_neighbor, neighbor) しかし、私はアルゴリズムに関していくつかの読書をしてきました、そして私が見る多くのバージョンは挿入ではなく減少キーを使用しています。 これはなぜですか、2つのアプローチの違いは何ですか?

8
カスタムコンパレータを使用してC ++でpriority_queueを宣言する
コンパレータ関数(ノードクラスの外部)としてpriority_queue of nodesを使用して、を宣言しようとしbool Compare(Node a, Node b)ています。 私が現在持っているものは: priority_queue<Node, vector<Node>, Compare> openSet; どういうわけか、私は得ています Error: "Compare" is not a type name 宣言をに変更する priority_queue <Node, vector<Node>, bool Compare> 私にくれます Error: expected a '>' 私も試しました: priority_queue<Node, vector<Node>, Compare()> openSet; priority_queue<Node, vector<Node>, bool Compare()> openSet; priority_queue<Node, vector<Node>, Compare<Node, Node>> openSet; どうすれば正しく宣言できますpriority_queueか?

3
Microsoftの内部PriorityQueue <T>のバグ?
PresentationCore.dllの.NETFrameworkには、PriorityQueue&lt;T&gt;コードがここにある汎用クラスがあります。 並べ替えをテストするための短いプログラムを作成しましたが、結果は良くありませんでした。 using System; using System.Collections.Generic; using System.Diagnostics; using MS.Internal; namespace ConsoleTest { public static class ConsoleTest { public static void Main() { PriorityQueue&lt;int&gt; values = new PriorityQueue&lt;int&gt;(6, Comparer&lt;int&gt;.Default); Random random = new Random(88); for (int i = 0; i &lt; 6; i++) values.Push(random.Next(0, 10000000)); int lastValue = int.MinValue; int …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.