使用图形旅行

Travels using graph

本文关键字:旅行 图形      更新时间:2023-10-16

>有人可以帮助我以更好的方式思考在这些条件下适应Dijkstra算法吗?我以为的不好。

输入示例:

GP4578 马德里 01:00 波尔图 02:00

IK6587 波尔图 03:00 瓦伦西亚 05:00 05:30 特纳里夫 08:00

AB5874 瓦伦西亚 05:40 柏林 10:00

"瓦伦西亚 05:00 05:30" 这是一个中途停留,他们都在30分钟左右。航班有到达和离开时间,航班号,始发地和目的地城市。

所以,我需要从一座城市到另一座城市的最短路径,好吧,没问题。我无法构建这个,我从上周开始就被尝试过。有人可以给我思想吗?谁是我的顶点?如何使用边缘?

这是我提出的图表:两种顶点:

    出发
  1. 顶点:机场+出发时间
  2. 到达
  3. 顶点:机场+到达时间。

两种边缘:

  1. 飞行边缘:从出发顶点到到达顶点
  2. 等待边缘:从到达顶点到同一机场稍后时间的出发点。

边缘上的权重是持续时间,问题是单源最短路径,您可以使用您提到的 Dijstra 算法来解决它。至于中间着陆的航班,只需将它们分成几部分即可。