//单源最短路径,dijkstra算法,邻接矩阵形式,复杂度O(n^2)
//求出源s到所有点的最短路径,参数,传入图的顶点数n,(有向图)邻接矩阵mat
//参数,返回到各点的最短距离min[]和路径pre[],pre[i]记录s到i路径上i的父结点,pre[s]=-1
//可更改路权类型,但必须非负!
#define MAXN 200
#define inf 1000000000
typedef int elem_t;
void dijkstra(int n,elem_t mat[][MAXN],int s,elem_t* min,int* pre)
{int v[MAXN],i,j,k;for (i=0;i<n;i++)min[i]=inf,v[i]=0,pre[i]=-1;for (min[s]=0,j=0;j<n;j++){for (k=-1,i=0;i<n;i++)if (!v[i]&&(k==-1||min[i]<min[k]))k=i;for (v[k]=1,i=0;i<n;i++)if (!v[i]&&min[k]+mat[k][i]<min[i])min[i]=min[k]+mat[pre[i]=k][i];}
}

转载于:https://www.cnblogs.com/agpro/archive/2010/06/24/1764519.html

最短路径(单源 dijkstra算法-邻接矩阵)相关推荐

  1. 【最短路径】之Dijkstra算法

    最短路径 单源最短路径:计算源点到其他各顶点的最短路径的长度 全局最短路径:图中任意两点的最短路径 Dijkstra.Bellman-Ford.SPFA求单源最短路径 Floyed可以求全局最短路径, ...

  2. python广度优先算法最短路径_最短路径问题的Dijkstra算法 -python

    最短路径问题的Dijkstra算法 是由荷兰计算机科学家艾兹赫尔·戴克斯特拉提出.迪科斯彻算法使用了广度优先搜索解决非负权有向图的单源最短路径问题,算法最终得到一个最短路径树>    .该算法常 ...

  3. 贪心算法之用优先队列解决最短路径问题(Dijkstra算法)

    1.问题 最短路径问题(Dijkstra算法)用 优先队列实现,问题描述和分析和优先队列先看前面我的几篇博客 贪心算法之最短路径问题(Dijkstra算法) C++之STL之priority_queu ...

  4. 单源最短路径问题(dijkstra算法)

    一.问题描述 给定一个随机带权有向图,每条边的权是一个实数.另外给定图中一个顶点,称为源.计算源到各顶点的最短路径长度(即距离),要求能随机生成图,随机指定源点计算出到顶点的最短距离. 二.解题思路 ...

  5. 图论(四)------非负权有向图的单源最短路径问题,Dijkstra算法

    Dijkstra算法解决了有向图G=(V,E)上带权的单源最短路径问题,但要求所有边的权值非负. Dijkstra算法是贪婪算法的一个很好的例子.设置一顶点集合S,从源点s到集合中的顶点的最终最短路径 ...

  6. 最短路径问题:Dijkstra算法详解

    前言  Nobody can go back and start a new beginning,but anyone can start today and make a new ending.  ...

  7. HDU3790 最短路径问题【Dijkstra算法】

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  8. 图的最短路径--单源、多源最短路径

    最短路径 –在网络中,求两个不同顶点之间的所有路径中,边的权值之和最小的路劲. 单源最短路径 –从某固定源点出发的最短路径 无权图的最短路径 按照路径长度递增的顺序找出源点到各个顶点的最短路径 类似于 ...

  9. 【最短路径】:Dijkstra算法、SPFA算法、Bellman-Ford算法和Floyd-Warshall算法

    求最短路径最常用的算法有: Dijkstra算法.SPFA算法.Bellman-Ford算法和Floyd-Warshall算法. Dijkstra算法.SPFA算法.Bellman-Ford算法这三个 ...

最新文章

  1. 什么是目标检测中的旋转敏感度错误?
  2. Static Text控件响应函数方法
  3. 清北刷题冲刺 11-02 a.m
  4. [翻译]编写高性能 .NET 代码 第一章:工具介绍 -- Visual Studio
  5. java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...
  6. c#.winform,datagridview,数组,绑定,字符串,字符串数组绑定datagridview显示,长度,显示数组内容...
  7. Elasticsearch7.15.2 集成ik中文分词器 适用于单机和集群
  8. (计算机组成原理)第五章中央处理器-第四节2:微程序控制器基本原理
  9. 从字符串中提取(“获取”)一个数字
  10. opencv-contrib-Python编译module ‘cv2.cv2‘ has no attribute ‘xfeatures2d‘
  11. ubuntu 启动时显示initramfs 无法进入系统
  12. LeetCode题解——Reverse Integer
  13. 博客园模板--博客园老牛大讲堂
  14. Oracle服务端的tsnname,【监听】tnsname.ora文件理解
  15. (一)PyQt5系列教程:使用PyQt5创建一个简单的demo
  16. 教育教学教师竞聘说课PPT模板
  17. 8051单片机Proteus仿真与开发实例-74HC573锁存器驱动仿真
  18. 中国SaaS驶入「2.0时代」
  19. M3U8 文件介绍 与 播放方法
  20. python之json.loads()报错ValueError: No JSON object could be decoded解决

热门文章

  1. 「CSS」常见的清除浮动方法
  2. LeetCode(38)——报数(JavaScript)
  3. 喜欢独自喝茶的人是什么样的人
  4. 查理.芒格,谈投资的秘密
  5. 因为我们一直强调选品的重要性
  6. 这几种人往往能赚大钱
  7. 普通人赚大钱,做好这一点,才是真正的捷径
  8. 创业失败感悟第二十九天
  9. 人到中年,别再挥霍你的“同情心”了
  10. 是什么让Go语言更适合人工智能研究?