算法 - 頂點我經歷的Dijkstra最短路徑算法去了,而我在練習我遇到了一個問題,在頂點不是單號(比如1,2,3 ...和所以),但它是一對更具體地給予作爲(x,y)座標。我從來沒有做過這樣的問題,我也沒有見過他們。請你幫我解決這樣的問題。 O(V^2)熱烈歡迎Dijkstra的三座標
2
A
回答
3
使用散列圖將座標映射到整數頂點。現在你有一個節點爲單個數字的圖。應用dijkstra的算法。
時間複雜度:O(V)
用於轉換爲整數頂點。 O(V^2)
運行dijkstra的算法。
因此總體複雜度爲O(V^2)
。
僞代碼:
int cntr = 0;
for(Edge e : graph){
int from = e.from;
int to= e.to;
if(!map.contains(from)){
map.put(from, cntr++);
}
if(!map.contains(to)){
map.put(to, cntr++);
}
}
0
每個頂點還是會有一個id(你可以分配,如果不提供)。笛卡爾座標只是頂點的附加屬性,可用於計算連接頂點之間的距離。 (sqrt(delta_x^2 + delta_y^2))
相關問題
- 1. WebGL:畫布座標到三維座標
- 2. 三角形的第三點的座標
- 3. 帶座標的三角形?
- 4. 三角測量GPS座標
- 5. 三角座標幾何
- 6. 三維座標圖形
- 7. 三維座標插值
- 8. GPS三角座標米
- 9. 將鼠標座標變換爲三維座標
- 10. 如何將三維座標轉換爲二維座標?
- 11. 笛卡兒到極座標(三維座標)
- 12. 三維座標到二維屏幕座標與正交矩陣
- 13. Three.js - 從UV座標計算三維座標
- 14. 旋轉後的三維座標
- 15. 三個js獲取mesh.lookAt(object)的座標;
- 16. 三角形風扇的紋理座標
- 17. Dijkstra在三維陣列上的算法
- 18. 獲取谷歌地圖中的第三個三角點座標
- 19. 如何找到等邊三角形的第三個座標?
- 20. Mathematica三維座標在單獨的列表中的x和y軸座標
- 21. 三維從點座標和角
- 22. 獲取現場座標(三個j)
- 23. Java /圖形:繪製三維座標?
- 24. 從三星Intrepid獲取GPS座標
- 25. 如何找到兩個座標及其對應角度的三角形的第三座標
- 26. 如何計算三角形的第三座標,知道2個座標和1個角度?
- 27. R中的座標座標
- 28. 在ActionScript中創建三維座標系加上三維矢量?
- 29. 使用ggplot2,通過第三個變量連接x座標和y座標
- 30. 如何將三維空間座標轉換爲二維空間座標?
我明白了,你的意思是類似於map,int> mp;但是,我應該爲每個鍵分配什麼樣的價值?我的意思是它必須是獨一無二的,我該怎麼做? –
只需增加一個計數器並將其分配給節點即可。 @chotabheem看到編輯。 –
這真是太好了:)謝謝! –