地鐵出行線路規劃——基本理解與設計思路

image

基本理解

要實現一個可以計算最短路線、查詢地鐵線站點等信息的規劃地鐵出行線路的程序。算法

1、需求分析

  • 得到地鐵線路圖的信息。

對於地鐵線路信息圖,採用參數 -map 做爲標誌。程序啓動時須要經過讀取 -map 參數來得到對應的自定義地鐵文件(命名爲 subway.txt)。一個調用應用程序的示例以下:學習

subway.exe -map subway.txt
  • 可以查詢指定地鐵線通過的站點。

在給定地鐵線路時,從線路的起始站點開始, 依次輸出該地鐵線通過的全部站點,直到終點站。在應用程序須要支持一個新的命令行參數 -a 指定用戶但願查詢的地鐵線路。輸出的文件使用 -o 命令行參數來指定。一個調用應用程序的示例以下:測試

subway.exe -a 1號線 -map subway.txt -o station.txt
  • 可以查詢起始站點與目的地間的最短路線,並輸出通過的站點的個數和路徑(包括起始站點與目的站點),若是須要換乘,則在換乘站的下一行輸出換乘的線路。

在命令行中以 -b 參數加兩個地鐵站點名稱分別做爲出發與目的,好比用戶但願知道 洪湖裏 到復興路 之間的最短路線是怎樣的,他就可使用以下命令讓程序將結果寫入 routine.txt 中。編碼

subway.exe -b 洪湖裏 復興路 -map subway.txt -o routine.txt

設計思路

1、存儲設計

地鐵信息的存儲格式須要方便程序讀取,簡潔易懂,並能夠靈活拓展。spa

  • 地鐵線路信息圖——subway.txt
1號線 1站點 2站點 3站點……
2號線 1站點 2站點 3站點……
3號線 1站點 2站點 3站點……
4號線 1站點 2站點 3站點……
5號線 1站點 2站點 3站點……
……
  • 地鐵線所經站點——station.txt
1站點 2站點 3站點……
  • 起始站點與目的地間的最短路線——routine.txt
1
1站點
2站點
3站點
……
2號線(換乘)
1站點 
2站點
3站點
……

2、程序設計

  • 經過無向圖保存地鐵各站點,用最短路徑——Dijkstra算法或Floyd算法等實現計算出起始站點與目的站點間的最短路線。命令行

  • 能獲取地鐵線路圖,並在輸入地鐵線後輸出相應站點、在輸入起始站點與目的站點後按照規範輸出相應最短路線。設計

  • 作出異常處理,當輸入出錯時給出提示。代碼規範

3、我的計劃

好好加油吧!Fighting!code

image

PSP 2.1 Personal Software Process Stages Time
Planning 計劃
· Estimate · 估計這個任務須要多少時間 1h
Development 開發
· Analysis · 需求分析 (包括學習新技術) 1h
· Design Spec · 生成設計文檔 1h
· Design Review · 設計複審 (和同事審覈設計文檔) 1h
· Coding Standard · 代碼規範 (爲目前的開發制定合適的規範) 1h
· Design · 具體設計 1h
· Coding · 具體編碼 12h
· Code Review · 代碼複審 3h
· Test · 測試(自我測試,修改代碼,提交修改) 6h
Reporting 報告
· Test Report · 測試報告 2h
· Size Measurement · 計算工做量 1h
· Postmortem & Process Improvement Plan · 過後總結, 並提出過程改進計劃 1h
· 合計 31h
相關文章
相關標籤/搜索