首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用C++编程实现狄克斯特拉算法

用C++编程实现狄克斯特拉算法
EN

Stack Overflow用户
提问于 2015-11-12 23:19:40
回答 1查看 808关注 0票数 1

我有一个任务,给我一个图,我必须使用一个二维数组,并找到从"Macomb“到”芝加哥“的最短路径。我很难弄清楚我应该如何开始。

我看了一些视频,我觉得我已经掌握了Dijkstra的算法是如何工作的,但是把它变成代码让我很痛苦。

我已经为我的图创建了一个邻接矩阵,其中我使用"99“来表示不存在的边,我有一个为前置任务列表创建的数组,还有一个为其余顶点创建的数组。我应该将每个新的添加输出到最优路径,以及每个添加到最优路径的当前成本。最后,它应该看起来像这样:

路径: Macomb

成本:0

路径: Macomb --> Hope

成本:2

路径: Macomb -->希望-->爱

成本:4

路径: Macomb -->希望-->爱-->和平

成本:5

路径: Macomb -->希望-->爱-->和平-->信念

成本:6

路径: Macomb -->希望-->爱-->和平-->信念-->芝加哥

成本:8

下面是我必须开始的代码:

代码语言:javascript
运行
复制
#include <iostream>

using namespace std;



int main()
{
int graph[6][6] = {{99,2,9,5,99,99},
                   {2,99,4,2,99,99},
                   {9,4,99,1,1,5},
                   {5,2,1,99,4,99},
                  {99,99,1,4,99,2},
                  {99,99,99,99,2,99}};
string pred[6] = {"Macomb", " ", " ", " ", " ", " "};
string cities[5] = {"hope", "peace", "love", "belief", "Chicago"};
int distance[6];

}

我不是在找人给我的作业编写代码,但我希望任何人都能推动我朝着正确的方向前进,因为这是一项艰巨的任务。这是一个基本的数据结构类,我们唯一使用的#include是代码中的内容,所以答案越简单越好。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2015-11-13 08:54:50

这是我的Dijkstra算法的实现。

https://github.com/Jesusfer2575/Reference/blob/master/dijkstra.cpp

尽情享受吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33674886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档