簡體   English   中英

總線路由程序,我使用什么樣的算法和數據結構?

[英]Bus Route Program,What kind of algorithm and data-structure do I use?

我對一個程序的Java算法有疑問。 我想寫一個提供“公交路線”信息的android程序。 程序用戶選擇一個公交車站(A站),程序對用戶說“乘坐4號公交車,然后從B站下車。然后乘8路公交車,然后從C站下車。” 有人對該程序算法有所了解嗎? 我可以用什么來保存每條公交線路? Queuestack或類似的東西? 我可以將BFSDFS算法用於最短的總線路徑路徑嗎?

Purpose of program; 用戶如何使用Bus找到運輸路線。 (4路公交車不直接到車站8,用戶需要轉乘車站B)

I need to know ; 我使用哪種數據結構和哪種最短路徑算法。

這是一個問題的圖像,上面解釋

用Java編寫Dijkstra算法

初始化頂點的代碼中的位置,初始化所有總線路徑。

在定義鄰接矩陣的位置,對於每個停靠點,使用可用總線的停靠點進行初始化。 現在運行算法。 您可以在每個邊緣保留其他信息,例如可能的總線編號。

假設您在后台運行Java並且您要使用Dijkstra算法,那么您基本上需要獲取並管理圖形實例。 也許甚至有圖庫/實現已經有DFS和BFS算法,所以Dijkstra或Kruskal。

我建議創建一個基於Java HashTable的圖形實現。 將每個節點作為Key ,將鄰接列表作為每個Value

使用ArrayListStackQueuePriorityQueue可能會有所幫助。

您可能必須實現一個簡單的Node類並獲取用於執行Dijsktra,DFS,Kruskal,BFS等的靜態方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM