2012-04-27 14 views
7

私はDijkstraのアルゴリズムの実装に必要です。私は独自の実装をしていますが、自分のコードを文書化することは、Java独自のクラスを使う方が簡単です。javaにはインデックス付き最小優先度キューがありますか?

+1

あなたのお気に入りの検索エンジンで「java priority queue」を検索しようとしましたか? – cello

+2

追加のキーワードとして*索引*で試しましたか? – Fatso

答えて

2

「インデックス登録」とはどういう意味ですか? キューが優先されない限り、優先順位キューはインデックス作成をサポートしていません。

Javaは、C++ STLのような標準の優先度キューをサポートしています。 java.util名前空間ではPriorityQueueとなります。

+1

引用:*多くのアプリケーションでは、クライアントが既に優先キューにあるアイテムを参照できるようにするのが理にかなっています。 *固有の整数インデックスを各アイテムに関連付けることが簡単な方法です*実装済みですが、実装のための完全なドキュメントを作成する代わりにJavaクラスを使用することができればうれしいです。 – Fatso

+0

@exct indexedは、インデックス付きアクセスを許可しているわけではありません。インデックスは、キューの要素に関連付けられた一意の整数です。キュー要素の一意の整数値と同様です。ロバート・セジウィックは、彼の著書「アルゴリズム」の中で、よく取り上げられています。 – isaolmez

+0

@Fatso何から引用しますか? – EJP

2

いいえ、Java標準ライブラリにはこのようなデータ構造はありません。 ほとんどの人がこれを使うと思います: http://algs4.cs.princeton.edu/24pq/IndexMinPQ.java.html

+1

リンクが壊れているかのように、追加情報を得るためにユーザーにリンクを案内するための簡単な情報を提供する方が良いでしょう。 –

+0

@cohadar:TreeMapはどうですか?これは、O(log(n))時間内の任意のオブジェクト(索引付きアクセスと見なすことができる)の除去を提供します。 – beemaster

関連する問題