贪心算法之最短路径问题(Dijkstra算法)

举报
chenyu 发表于 2021/07/27 00:02:06 2021/07/27
【摘要】 1、问题 一个求单源最短路径的问题。给定有向带权图 G =(V, E ), 其中每条边的权是非负实数。此外,给定 V 中的一个顶点, 称为源点。现在要计算从源到所有其他各顶点的最短路径长 度,这里路径长度指路上各边的权之和。   2、分析     3、代码实现 1、普通C...

1、问题

一个求单源最短路径的问题。给定有向带权图 G =(V, E ),
其中每条边的权是非负实数。此外,给定 V 中的一个顶点,
称为源点。现在要计算从源到所有其他各顶点的最短路径长
度,这里路径长度指路上各边的权之和。

 


2、分析

 

 


3、代码实现

1、普通C++实现
 

   
  1. #include <iostream>
  2. #include <cstdio>
  3. #include <stack>
  4. #include <string>
  5. using namespace std;
  6. /*
  7. 一定要记得如果初始化矩阵的话,肯定需要一个变量保存长和宽的最大值,
  8. 如果看到权重的话,肯定是需要有个变量保存最大值的权重
  9. */
  10. //城市的节点数目的最大值
  11. const int MAX_CITY_NUM = 100;
  12. //节点权值的最大值
  13. const int MAX_POLICY = 1e7;
  14. //初始化权重矩阵
  15. int map[MAX_CITY_NUM][MAX_CITY_NUM];
  16. //源点到各个顶点的最短具体数组
  17. int dist[MAX_CITY_NUM];
  18. //下标表示当前节点值,然后值保

文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。

原文链接:chenyu.blog.csdn.net/article/details/79155571

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。