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
我做對了嗎? (本質上使用PQ作爲二元堆)(此方法將實現Dijkstra算法)
感謝您提前給予幫助/解答!
對不起這是一個非常漫長的一天,但是,我不確定我的頭在哪裏,謝謝!我主要關心的是獲取鑰匙。同樣優先級隊列的設置是否會在我添加它時使用(String,Integers)?我試圖像你會映射它,但它不會編譯。 – 2010-11-19 22:59:18
你能提供一個代碼示例/更清楚地解釋你想做什麼嗎? – 2010-11-19 23:01:56
http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm 如果你看看僞代碼部分,你會看到我基本上想要做的事情。總體目標是找到通過詞梯的最短路徑。主地圖包含字典,每個元素的子地圖都有鄰居和它們距鍵的距離。然後Dijkstra需要逐個移動它們,找到最短路徑將起始詞更改爲目標。我知道如何解決這個問題,但我相信我只想知道PQ的語法(String,int) – 2010-11-19 23:03:54