问题概述:成都的大街上有n个路口,标号为1的路口是学校所在地,标号为n的路口是家所在地,m则表示在成都有几条路,输入3个整数a、b、c表示从a路口到b路口有路可走,且要花费c分钟,求从学校到家最短时间

输入样例:                                    对应输出:

3 3                                                 2

1 2 5

2 3 5

3 1 2

Dijkstral算法(与求最小生成树的Prim算法非常相似):

功能:可以求出单个源点到其他顶点最短路径

适用:有向图 √ 无向图 √ 权值为正 √ 权值为负 ×

复杂度:n²(复杂度一般)

核心:首先寻找离源点N最近的点K,然后遍历其它点,对于每个点看若经过K点后距离是否变短,之后再找出离源点最近的新点,以此类推

#include<stdio.h>
int main(void)
{  int a, b, c, i, j, n, m, k, temp;while(scanf("%d%d", &n, &m), n!=0 || m!=0){int road[105][105] = {0}, min[105] = {0}, flag[105] = {1,1};for(i=1;i<=n;i++){for(j=1;j<=i;j++)road[i][j] = road[j][i] = 100000000;}for(i=1;i<=m;i++){scanf("%d%d%d", &a, &b, &c);road[a][b] = road[b][a] = c;}for(i=2;i<=n;i++)min[i] = road[1][i];for(i=2;i<=n;i++){k = 100000000;for(j=2;j<=n;j++){if(flag[j]==0 && min[j]<k) {temp = j;k = min[j];}}flag[temp] = 1;for(j=2;j<=n;j++){if(flag[j]==0 && k + road[temp][j]<min[j])  /*这里是和Prim算法的唯一区别*/min[j] = k + road[temp][j];}}printf("%d\n", min[n]);}return 0;
}

Dijkstral算法--单源最短路相关推荐

  1. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  2. 【POJ - 2387】 Til the Cows Come Home(单源最短路Dijkstra算法)

    题干: Bessie is out in the field and wants to get back to the barn to get as much sleep as possible be ...

  3. 【数据结构笔记24】单源最短路(迪克斯拉Dijkstra算法),多源最短路(弗洛伊德Floyd算法)

    本次笔记内容: 7.1.1 概述 7.1.2 无权图的单源最短路 7.1.3 有权图的单源最短路 7.1.3-s 有权图的单源最短路示例 7.1.4 多源最短路算法 文章目录 最短路径问题 最短路径问 ...

  4. C++实现单源最短路算法

    1.单源最短路算法 n个处理器,第一个处理器要广播消息到其他所有的处理器,求需要时间最短是多少(从第一个点出发,求到其他点最短路的最大值) 2.思路 这个基本上没啥可说.看代码理解就是. 3.代码实现 ...

  5. 单源最短路之Dijkstra算法代码模板

    常用算法代码模板总结 目录 注意事项 数组定义 实现步骤 练习例题:Dijkstra求最短路 注意事项 用来求单源最短路 所有边权都是正数,时间复杂度O(n^2) 可通过堆优化达到时间复杂度为O(ml ...

  6. spfa 单源最短路究极算法

    学习博客链接:SPFA 求单源最短路的SPFA算法的全称是:Shortest Path Faster Algorithm.      SPFA算法是西南交通大学段凡丁于1994年发表的.     从名 ...

  7. 算法百题斩其三: 单源最短路与算法——其一

    算法百题斩其三: 单源最短路与算法--其一 写在前面:何所谓"斩"? 斩,即快速而有力地切断,指我们用最精简的语言,一针见血地点破算法题的核心难点.斩需三思而后行:斩需借助外力.旁 ...

  8. NOWCODER 吃火锅(单源最短路dijkstra()算法)

    链接:https://ac.nowcoder.com/acm/problem/213225 来源:牛客网 题意: 有n个城市,m条双向道路. 第i条路线可用于从城市v[i]到城市u[i](以及从u[i ...

  9. 算法提高课-图论-差分约束- AcWing 1169. 糖果:spfa求单源最短路、差分约束

    文章目录 题目分析 题目链接 题目分析 来源:acwing 分析: 差分约束系统 差分约束系统是一种特殊的N元一次不等式组.它包含N个变量X1,...,XnX_1,...,X_nX1​,...,Xn​ ...

最新文章

  1. 企业域名更换操作系列1:为什么要进行域名更换及更换需要注意事项
  2. Rails 开发小贴士积累
  3. 如何按 value 对 dictionary 进行排序?
  4. Axure高保真学校后台管理作品管理教师管理资源审核学生管理家长管理权限管理资源管理web端后台模板管理教师审核统计分析教育后台管理系统学校后台管理系统校园后台管理系统
  5. Linux 系统常用命令
  6. Linux下搭建CACTI的时候总结的一些小知识
  7. 【第二章 | 进程的描述与控制】《操作系统 慕课版》课后答案 + 复习
  8. 介绍鲜花视频的html模板,HTML黄色欧美形式鲜花介绍网页模板代码
  9. c语言实现freqspace函数,滤波器程序
  10. QT+VS开发界面入门(qt界面在VS2022实现自动生成槽函数)
  11. 【人体骨骼点】算法综述
  12. Chap.16 总结《CL: An Introduction》 (Vyvyan Evans)
  13. MpAndroidChart Y轴显示整数
  14. 上海航芯 | 全自动咖啡机设计方案
  15. iphone 中的键盘切换产生的屏幕大小问题
  16. 电源硬件设计----升降压变换器(负压输出)基础
  17. Java经典面试:源码解读及如何保证线程安全
  18. AOC 27G3Z 评测
  19. 腾讯云一键搭建WordPress博客网站
  20. 中国计量大学计算机专业在哪个校区,中国计量大学有几个校区及校区地址 哪个校区最好...

热门文章

  1. python可以自学编程吗-编程学习第一步,让你20天搞定Python编程
  2. 人工智能时代,语音识别领域前景广阔
  3. qq纯黑主题怎么设置_qq背景变黑色,怎么调过来
  4. 怎么二值化后找字_邓婕美肤团队:秋季皮肤出现问题后怎么办 找对护肤方法是关键_美肤吧...
  5. 服务器资源评估文档,服务器存储资源评估
  6. mysql导出约束文件_MySQL导出所有Index 和 约束
  7. nmon安装为什么重启mysql_Centos7部署nmon监控工具
  8. php memcache 有效期,PHP可以拿到memcache中的key的过期时间吗?
  9. el-input输入值无法在输入框显示
  10. MultipartFile转为File