博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最短路径Dijkstra模板
阅读量:5322 次
发布时间:2019-06-14

本文共 546 字,大约阅读时间需要 1 分钟。

算法思想:把所有的边分成两个集合A,B。集合A表示已经求出最短路径的点,不断扩展集合A,减少集合B。每一扩展就从结合B中找出到源点距离最短的点,加入到A。

dis[i]数组代表从出发点到j的距离;

map[i][j]代表i到j的距离;

调用函数是需要把map初始化成正无穷;

int dis[N],map[N][N]; int vis[N]; int Dijkstra(){    int i,j,k=0;    for(i=1;i<=n;i++)        dis[i]=map[0][i];//初始化dis数组中的值    for(i=1;i<=n;i++)    {        int maxx=INF;//INF代表这正无穷        for(j=1;j<=n;j++)            if(!vis[j]&&dis[j]
dis[k]+map[k][j]) dis[j]=dis[k]+map[k][j];//更新dis数组(保持dis中的数最小) } return dis[1];}

  

转载于:https://www.cnblogs.com/yuanbo123/p/5148208.html

你可能感兴趣的文章
启动redis一闪就关
查看>>
Maven之setting.xml配置文件详解
查看>>
ASP.NET 4.5 Web Forms and Visual Studio vs2013年入门1
查看>>
JUC - ReentrantLock 的基本用法 以及 lock()、tryLock()、lockInterruptibly()的区别
查看>>
java 连接 Access数据库的两种方法
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
HDU 2063 过山车
查看>>
高精度1--加法
查看>>
在线文件管理器elFinder支持中文
查看>>
String比较
查看>>
Django之Models
查看>>
Spring缓存注解@Cache使用
查看>>
CSS 透明度级别 及 背景透明
查看>>
Linux 的 date 日期的使用
查看>>
PHP zip压缩文件及解压
查看>>
SOAP web service用AFNetWorking实现请求
查看>>
C# JSON字符串序列化与反序列化
查看>>
HTTPS、SPDY和HTTP/2的性能比较
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>