最短路径Dijkstra模板
算法思想:把所有的边分成两个集合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]<maxx)
{
k=j;
maxx=dis[j];//从此循环中找到dis中最小的值并记住地址,为以后更新做准备;
}
if(k==0)
break;
vis[k]=1;
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];
}
最短路径Dijkstra模板的更多相关文章
- 51nod 1459 迷宫游戏 (最短路径—Dijkstra算法)
题目链接 中文题,迪杰斯特拉最短路径算法模板题. #include<stdio.h> #include<string.h> #define INF 0x3f3f3f3f ],v ...
- 【POJ - 2387】Til the Cows Come Home(最短路径 Dijkstra算法)
Til the Cows Come Home 大奶牛很热爱加班,他和朋友在凌晨一点吃完海底捞后又一个人回公司加班,为了多加班他希望可以找最短的距离回到公司.深圳市里有N个(2 <= N < ...
- 最短路径-Dijkstra+Floyd+Spfa
Dijkstra算法: Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra ...
- HDU-2544 最短路 Dijkstra模板题
题目链接:https://vjudge.net/problem/HDU-2544 题意: 题目要求找到节点1到节点n之间的一条最短路 分析: Dijkstra模板题 单源最短路径,可以用dijkstr ...
- [数据结构与算法-15]单源最短路径(Dijkstra+SPFA)
单源最短路径 问题描述 分别求出从起点到其他所有点的最短路径,这次主要介绍两种算法,Dijkstra和SPFA.若无负权优先Dijkstra算法,存在负权选择SPFA算法. Dijkstra算法 非负 ...
- 最短路径 dijkstra
最短路径 dijkstra #include <stdio.h> #include <string.h> #include <limits.h> #define M ...
- 网络最短路径Dijkstra算法
最近在学习算法,看到有人写过的这样一个算法,我决定摘抄过来作为我的学习笔记: <span style="font-size:18px;">/* * File: shor ...
- c/c++ 图的最短路径 Dijkstra(迪杰斯特拉)算法
c/c++ 图的最短路径 Dijkstra(迪杰斯特拉)算法 图的最短路径的概念: 一位旅客要从城市A到城市B,他希望选择一条途中中转次数最少的路线.假设途中每一站都需要换车,则这个问题反映到图上就是 ...
- 单源最短路径Dijkstra算法,多源最短路径Floyd算法
1.单源最短路径 (1)无权图的单源最短路径 /*无权单源最短路径*/ void UnWeighted(LGraph Graph, Vertex S) { std::queue<Vertex&g ...
随机推荐
- Unity3d 多次显示关闭一个UI
publicclass OpenClooseGoUI : MonoBehaviour { public GameObject closeBt; public GameObject goUI ...
- 《从零开始学Swift》学习笔记(Day 12)——说几个特殊运算符
原创文章,欢迎转载.转载请注明:关东升的博客 除了一些常用的运算符,还有一些其他的: • 引用号(.):实例调用属性.方法等操作符. • 问号(?):用来声明可选类型. • ...
- bootstrap获取总条目数
$('#table').on('load-success.bs.table', function () {alert($('#table').bootstrapTable('getOptions'). ...
- Problem H. Hotel in Ves Lagos
Problem H. Hotel in Ves Lagos Input le: hotel.in Output le: hotel.out Time limit: 1 second Memory li ...
- nginx + uwsgi + django/flask Nginx + php-fpm + PHP
后端服务器设置nginx + uwsgi + django/flask需要注意的问题 - ACE开发者 https://acejoy.com/2018/09/09/547/ 后端开发应用中,除了Ngi ...
- Python3.6全栈开发实例[010]
10.有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} s = "k:1|k1:2|k2:3|k3:4" d ...
- kubernetes 1.7.2 安装 记录过程
系统信息 cat /etc/redhat-release CentOS Linux release (Core) 环境信息 IP地址 主机名称 10.10.6.11 master 10.10.6.12 ...
- spring 项目tomcat 8.0.2 发布报错:Could not initialize class org.hibernate.validator.engine.ConfigurationImpl
tomcat 8 项目发布遇到的错 [ERROR] -- ::, org.springframework.web.servlet.DispatcherServlet - Context initial ...
- 4.5 基于STM32+MC20远程短信控制开关
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 设置linux下shell显示不同颜色的字体
实例代码如下: #!/bin/bash clear echo -e "\033[1m Hello World" # bold effect echo -e "\033[5 ...