啊哈算法中的Dijkstra最短路算法(好理解!!!)
tip:需要电子书的小伙伴可以留言或者私信哦~~
模板:
#include <stdio.h>
int main()
{int e[10][10],dis[10],book[10],i,j,n,m,t1,t2,t3,u,v,min;int inf=99999999; //用inf(infinity的缩写)存储一个我们认为的正无穷值//读入n和m,n表示顶点个数,m表示边的条数scanf("%d %d",&n,&m);//初始化for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(i==j) e[i][j]=0;else e[i][j]=inf;//读入边for(i=1;i<=m;i++){scanf("%d %d %d",&t1,&t2,&t3);e[t1][t2]=t3;}//初始化dis数组,这里是1号顶点到其余各个顶点的初始路程for(i=1;i<=n;i++)dis[i]=e[1][i];//book数组初始化for(i=1;i<=n;i++)book[i]=0;book[1]=1;//Dijkstra算法核心语句for(i=1;i<=n-1;i++){//找到离1号顶点最近的顶点min=inf;for(j=1;j<=n;j++){if(book[j]==0 && dis[j]<min){min=dis[j];u=j;}}book[u]=1;for(v=1;v<=n;v++){if(e[u][v]<inf){if(dis[v]>dis[u]+e[u][v])dis[v]=dis[u]+e[u][v];}}}//输出最终的结果for(i=1;i<=n;i++)printf("%d ",dis[i]);getchar();getchar();return 0;
}
啊哈算法中的Dijkstra最短路算法(好理解!!!)相关推荐
- 【啊哈!算法】算法7:Dijkstra最短路算法
上周我们介绍了神奇的只有五行的Floyd最短路算法,它可以方便的求得任意两点的最短路径,这称为"多源最短路".本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做&quo ...
- 坐在马桶上看算法:Dijkstra最短路算法
[坐在马桶上看算法]算法7:Dijkstra最短路算法 上周我们介绍了神奇的只有五行的 ...
- spfa算法_10行实现最短路算法——Dijkstra
今天是算法数据结构专题的第34篇文章,我们来继续聊聊最短路算法. 在上一篇文章当中我们讲解了bellman-ford算法和spfa算法,其中spfa算法是我个人比较常用的算法,比赛当中几乎没有用过其他 ...
- 迪克斯特拉算法(Dijkstra 最短路算法)(简单易懂)
Dijkstra 最短路算法 上周我们介绍了神奇的只有五行的 Floyd 最短路算法,它可以方便的求得任意两点的最短路径,这称为"多源最短路".本周来来介绍指定一个点(源点)到其余 ...
- Dijkstra 最短路算法(只能计算出一条最短路径,所有路径用dfs)
上周我们介绍了神奇的只有五行的 Floyd 最短路算法,它可以方便的求得任意两点的最短路径,这称为"多源最短路".本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做&q ...
- MATLAB实现Dijkstra最短路算法
1.算法作用及适用范围 源点与汇点为图中存在边的两个顶点: 费用即为权值:(如有不便,可以在草稿纸上画出来并标明权值) 迪克斯特拉算法解决无向加权图中最短路问题,所有的权为正. 1.1推理描述 需求: ...
- 算法小讲堂之最短路算法(Floyd+bellman+SPFA+Dijkstra)
前言 如果你对图论相关知识一点也没有,那么建议您先去了解这些知识:https://acmer.blog.csdn.net/article/details/122310835,然后就可以快乐的学习最短路 ...
- 数据结构(六):图的概念、存储方式、基本操作、最小生成树、最短路径、有向无环图、关键路径 | Prim、Kruskal算法 | BFS、Dijkstra、Floyd算法 | 拓扑排序 | 求关键路径
文章目录 第六章 图 一.图 (一)图的定义 (二)图逻辑结构的应用 (三)无向图.有向图 (四)简单图.多重图 (五)顶点的度.入度.出度 (六)顶点-顶点的关系描述 (七)连通图.强连通图 (八) ...
- 贪吃蛇AI算法中的A star寻路算法
A*寻路算法 在之前的贪吃蛇游戏比赛里,计算蛇吃食物路径时要用到寻路算法,于是就去了解了一下,以下是我的算法演化过程. 1.简单寻路–按图索骥 我一开始想到的方法就是最简单的:目标在哪个方位就往哪个方 ...
最新文章
- python3.4安装suds
- VTK:图像迭代器用法实战
- leetcode 131. 分割回文串 思考分析
- python 默认参数_有趣的 Python 特性 3 | 当心默认可变参数这个大猪蹄子。
- qq手机电脑消息同步_手机电脑完全同步!秒杀一切投屏软件和模拟器!
- 学习Mahout(二)
- 软件工程期末考试复习(二)
- python中33个保留字的含义_Python的保留字。这是什么意思?
- Fortran 中的common,include和module
- DBT-50000及相关问题处理
- MATLAB程序设计与应用 2.4 MATLAB常用内部函数
- 哔哩哔哩直播步骤记录,避免遗漏
- 【Python】批量修改照片日期
- 迷宫寻宝(自编简单版)
- mysql 数据库信息泄露
- 金蝶EAS服务器安装局部补丁时,提示无法安装
- 申请一年期免费的Office 365企业版E3开发者账户
- Linux wget错误,证书无效过期,ERROR: The certificate of ‘mirrors.cnnic.cn‘ has expired.
- 公共关系礼仪实务章节测试题——社会关系和公共关系(五)
- 迅捷CAD编辑器哪些功能比较好用
热门文章
- ubuntu 12.04 联想thinkpad e430 安装wifi驱动
- JAVA HashMap单key多value的实现及迭代器打印(附源码)
- tomcat常见面试题目问答Top10
- Spring @Resource、@Autowired、@Qualifier区别
- java中的list时间排序
- 10+ commonly using find command switches with example Unix/Linux
- mina与spring集成(翻译)
- android 组件(activity,service,content provider,broadcast receiver,intent)详解
- Docker Review - dockerfile 入门篇
- 白话Elasticsearch16-深度探秘搜索技术之使用原生cross-fiedls技术解决搜索弊端