0
public static void Dijk(HashMap<String, HashMap<String, Integer>> map, String go, String stop){
PriorityQueue pq = new PriorityQueue();
for (String x: map){
}
}
ここでforeachループを使用できないと言っているのはなぜですか?ForeachはHashMapsには有効ではありませんか?一般的な優先順位キューの質問
また、これは大きなプログラムの小さな部分ですが、優先度の高いキューではあまり経験がありませんでした。これを使用するには、<String, int> //or Integer
を使用しますか? (Imは本質的にバイナリヒープとしてPQを使用しています)(このメソッドはDijkstraのアルゴリズムを実装します)
ありがとうございました!
それは非常に長い1日だった申し訳ありませんしかし、はい私は私の頭があなたに感謝のどこにあるか分からない!私の主な関心事はキーを得ることでした。また、優先度キューをそのまま使用すると、(文字列、整数)が追加されますか?マップのようにキャストしようとしましたが、コンパイルされませんでした。 –
あなたがしようとしていることのコード例/より明確な説明を提供できますか? –
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm 擬似コードのセクションを見ると、基本的に何をしようとしているのか分かります。全体的な目標は、単語のはしごを通る最短経路を見つけることです。メイン・マップにはディクショナリが含まれており、各要素のサブマップにはネイバーとキーからの距離があります。その後、ダイクストラは、開始単語をターゲットに変更する最短のパスを見つけるために、一度に1つずつ移動する必要があります。私は問題の解決方法を知っていますが、私はちょうど(String、int)のPQ構文を知りたいと思っています。 –