[問題] 最佳路徑運算
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
我想設計一個程式, 它會從文字檔中讀取起點,終點和路徑所經過的點和時間,
程式會算出哪條路徑所需時間最短. 文字檔裡有多個起點和多個終點
文字檔內容如下:
檔案一 :
input output node
a x d
b z e
c f
g
h
i
j
k
檔案二 :
path time(ms)
a - > d 0.3
a - > k 0.5
b - > f 1.0 從檔案一和二來看 a 有兩條路徑
b - > j 4.9
d - > e 5.0 a - > input
c - > i 3.0 / \
c - > h 4.0 d k
d - > g 3.9 / \ \
g - > x 9.0 g e z - >output time : 5.3 ms
k - > z 4.8 /
...... output< - x
time : 13.2ms
就a來看 最短時間是5.3
希望得到的正確結果:
顯示最短的時間
程式跑出來的錯誤結果:
我用C寫出來,結果沒錯. 只是程式碼寫了好多.
我先把每一行存進 1D string array , 再用 2D string array 存 input output 和
node, path 和 time, 把每一個結點分開, 然後用 for loop 從起點開始 一個一個
找它可能的路徑, 光 debug 就花了好多時間.
想請問有什麼好的儲存方式和搜尋路徑時間的方式 ?
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev-C++
有問題的code: (請善用置底文標色功能)
補充說明:
之前學過 list, queue, stack in Java, 但好像都不能上面的路徑問題
一個結點有多個入口和出口, 希望各位能提供點意見
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 72.211.146.183
推
09/30 11:12, , 1F
09/30 11:12, 1F
→
09/30 11:12, , 2F
09/30 11:12, 2F
→
09/30 11:12, , 3F
09/30 11:12, 3F
→
09/30 12:17, , 4F
09/30 12:17, 4F
→
09/30 23:56, , 5F
09/30 23:56, 5F