加权图最短路径设计C ++

时间:2014-05-09 00:16:09

标签: c++ algorithm graph

我无法为C ++数据结构课程中分配的项目制定计划。我不是要求编写代码,而是要求攻击计划。基本上我很难想到这一点。

你将如何从这个加权的非定向map构建一个加权图,目的是能够找到从一个顶点(Angel's Stadium)的最短路径到:

  1. 所有大联盟球场
  2. 所有国家联赛体育场
  3. 所有美国联赛体育场
  4. 我还必须允许用户通过选择他们想要访问的体育场来计划他们的梦想假期。

    该计划只需要打印所访问的体育场馆数量和每种情况下的总行车距离。

    我的第一个想法是为四种情况中的每一种都有方法。我甚至不确定如何返回参观过的体育场馆数量和距离。当您需要返回两个值时,是否使用结构最佳?

    更不用说哪种算法用于最短路径。我从以前的作业中实现了Dijkstra。我班上的其他人正在使用最小的生成树。

    对于最短路径有一个函数更有意义,它可以访问体育场列表,但我不知道如何构建邻接矩阵。

    我正在制作一个输入文件来读取像这样形成的邻接矩阵(边缘,权重):

    0 1 340
    0 2 110
    

    这是这种情况的最佳结构吗?我不确定如何区分大联盟,国家和美国。是否需要单独的输入文件?或者有更好的组织方式吗?

    如果您有兴趣,请参阅以下内容:[word document]

1 个答案:

答案 0 :(得分:1)

您需要根据问题中指定的标准,在巡回赛中选择不同的TSP实例(没有最后一跳)。

例如,

  1. 从加利福尼亚州的一个体育场开始,以最短的路径设计所有大联盟体育场的旅行。打印所访问的体育场馆数量和总旅行距离。
  2. minCost = inf

    (加利福尼亚州体育场馆)

    minCost = min(minCost,TSP(体育场,MLStadiums))

    希望有所帮助。

    陀罗