我认为使用一个无向带权图来存储每辆公交车每个站点的时间和距离成本是正确的方法。然后,我可以使用Dijkstra算法根据用户选择的时间或距离计算出两个位置之间的最短路径。如果公交路线在某些站点交叉,则通过简单的C#函数找出是否需要乘坐两三辆公交车,并使用这些交叉站点让旅客换乘公交车。但是每辆公交车都将有一个单独的图。另一种方法(不确定是否正确)是使用包含城市每个公交站点的图作为节点,然后使用此技术找出两个站点之间的旅行方式。哪种方法是正确的?我应该使用A*算法代替Dijkstra算法吗?
对于设计,有几个一般性的要点:我希望应用程序具有可扩展性,以便在需要时可以添加其他交通方式。此外,如果可能的话,公交车时间表也可以稍后添加,而不会对网站造成重大变化。我已经看到这里有很多专家已经处理了更复杂的交通项目。因此,请帮助我以最可扩展、模块化和可扩展的方式实现此功能。