基本理解
要實現一個可以計算最短路線、查詢地鐵線站點等信息的規劃地鐵出行線路的程序。算法
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
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 |